1

xml を読み取って値を取得したいのですが、xml ファイルは次の URL から返されます。

http://webserver/XMLResult

xml ファイルを読み取るために、次のコードを使用しました。

    INSERT INTO T(XmlCol)
SELECT * FROM OPENROWSET(BULK ‘http://webserver/XMLResult’,SINGLE_BLOB) as c

しかし、私は次のエラーが発生しています:

ファイルを開けなかったため、一括読み込みできません。オペレーティング システム エラー コード 123 (エラーが見つかりません)。

この問題を解決する方法を知っていますか?

それが不可能な場合は、誰かがSQLサーバーのURLからXMLをリードするのに役立つ最良の方法をお勧めできますか?

4

1 に答える 1

0

どうやら、関数のdata-fileパラメーターはOPENROWSETURL を指すことができません。TSQL ブロックの外部でXML データを読み取り、おそらくデータをパラメータとしてストアド プロシージャに渡すことをお勧めします。これが不可能で、TSQL 内から XML データを読み取る必要がある場合、次の 2 つのオプションが思い浮かびますが、どちらもあまり好きではありません。

  • CLR 関数を使用して、そこから XML データを読み取ります。
  • ここでsp_OACreate提案されているように、システム ストアド プロシージャを介して、SQL Server マシンで使用可能な COM オブジェクトを活用してみてください。
于 2013-10-24T06:09:20.223 に答える