我刚刚在本地测试了一个 TSQL 脚本,它将 XML 文件中的数据导入到我的 SQL 表中。我只是有一个“糟糕”的时刻,因为我不确定将我的 XML 文件放在哪里,以便我可以将这些数据放入我的 SQL Azure DB。我做了一些谷歌搜索,但找不到如何做到这一点。
有没有办法可以针对我的 Azure DB 运行此 SQL 并让它加载我的 XML 文件的内容?
注意:请注意下面的这一行:
批量'c:\Temp\abook.20130407.1912.xml',
它在我的本地电脑上。我不确定将这个文件放在哪里,以便我可以将这些数据传输到 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