我刚刚在本地测试了一个TSQL脚本,它将XML文件中的数据导入到我的SQL表中。我只是有一个“哦,废话”的时刻,因为我不知道该把XML文件放在哪里,以便我可以将这些数据存入我的SQL Azure数据库。我做了一些谷歌搜索,但无法找到如何做到这一点。将XML文件加载到SQL Azure
有没有一种方法可以对我的Azure数据库运行这个SQL,并让它载入我的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
嗨,鲍勃。我知道一段时间过去了,但你能告诉我“上面的问题”在哪里吗?在如何导入XML文件? – Vic 2014-06-24 09:12:07
这是这个页面上的问题。 – 2014-06-24 11:47:32