2

XML ファイルからデータベースにデータをインポートしようとしています。を使用してテスト スクリプトを作成しBULK INSERTましたが、ライブ データベースでテストしたところ、 の権限BULKが無効になっています。

試み #1:

BULK INSERT XMLTable FROM 'C:\Radu\test.xml' WITH (ROWTERMINATOR = '>');

ここに画像の説明を入力

そのため、使用を避ける方法を見つけるために調査を続け、やBULKなどの他のオプションを見つけました。残念ながら、これらの操作の権利も取り消されています。OPENROWSETOPENDATASOURCE

試み #2:

SELECT * 
FROM   OPENROWSET('MSDASQL',  
'Driver={Microsoft Text Driver (*.xml)};DefaultDir=C:\Radu\test.xml;', 
'SELECT * FROM [test.xml];' )

エラーが発生しました:

Msg 15281, Level 16, State 1, Line 1
SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure. For more information about enabling 'Ad Hoc Distributed Queries', see "Surface Area Configuration" in SQL Server Books Online. 

このための許可を試みましRECONFIGUREたが、成功しませんでした。

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;

また、次の結果が得られました。

Msg 15247, Level 16, State 1, Procedure sp_configure, Line 94
User does not have permission to perform this action.
Msg 5812, Level 14, State 1, Line 2
You do not have permission to run the RECONFIGURE statement.
Msg 15123, Level 16, State 1, Procedure sp_configure, Line 51
The configuration option 'Ad Hoc Distributed Queries' does not exist, or it may be an advanced option.
Msg 5812, Level 14, State 1, Line 4
You do not have permission to run the RECONFIGURE statement.

私はまだ情報をデータベースにインポートするための解決策を見つけようとしています。システムにデータを取得するためだけに特別なフォーマットは必要ありませんが、理想的には各xml行をレコードとしてインポートしたいと思います私のテーブル。

私のオプションのほとんどがカットされているように見えるので、何か提案をいただければ幸いです。

アップデート:

このデータをインポートするためのストアド プロシージャを作成するので、XML 情報をハードコーディングせずに汎用的なものにするのが理想的です。

4

2 に答える 2

0

一括アップロードの権限がないため、XML を XSLX または XSL に変換し、それを開いてすべての行をコピーし、テーブルに貼り付けるツールが必要です。

または

これはまだ一括読み込みコンポーネントを使用しています。動作する場合は試してみてください。

http://support.microsoft.com/kb/316005

于 2013-10-10T10:28:05.577 に答える