2

XML ファイルから SQL テーブルにデータをインポートする TSQL スクリプトをローカルでテストしました。このデータを SQL Azure DB に取得できるように、XML ファイルをどこに配置すればよいかわからないため、「ああ、がらくた」の瞬間がありました。グーグルで調べましたが、これを行う方法が見つかりませんでした。

この SQL を Azure DB に対して実行し、XML ファイルの内容を読み込む方法はありますか?

注: 以下の行に注意してください。

BULK 'c:\Temp\abook.20130407.1912.xml',

それは私のローカルPCにあります。このデータを Azure に取得できるように、このファイルをどこに配置すればよいかわかりません。

SET IDENTITY_INSERT Contact ON

INSERT INTO Contact (ContactId, EntityId, Type, Value, Notes)
SELECT X.row.query('field[@name="id"]').value('.', 'INT'),
       X.row.query('field[@name="recordid"]').value('.', 'INT'),
       X.row.query('field[@name="type"]').value('.', 'VARCHAR(25)'),
       X.row.query('field[@name="contact"]').value('.', 'VARCHAR(100)'),
       X.row.query('field[@name="notes"]').value('.', 'NVARCHAR(255)')
FROM ( 
SELECT CAST(x AS XML)
FROM OPENROWSET(
     BULK 'c:\Temp\abook.20130407.1912.xml',
     SINGLE_BLOB) AS T(x)
     ) AS T(x)
CROSS APPLY x.nodes('/mysqldump/database/table_data[@name="contact"]/row') AS X(row);

SET IDENTITY_INSERT Contact OFF
4

1 に答える 1