目前,我们公司正在将应用程序迁移到云(Azure),我们有一个命令行应用程序,可以执行以下步骤。
在存储过程中使用此脚本将每个xml插入到临时表中
DECLARE @bulkQuery nvarchar(max) = N'INSERT INTO #BulkTable
SELECT BulkColumn
FROM Openrowset(Bulk ''' + @FilePath + ''', Single_Blob) X';
EXECUTE sp_executesql @bulkQuery
将目标表与时态表合并。
但是,因为我发现OpenRowSet命令在SQL Azure中不可用(我认为这是由于SQL Azure数据库不能对文件进行本地访问),我尝试了另一种方法:< / p>
使用Web作业,#6步骤为:
事实是,第二种方法可行,但每个xml文件需要3个小时,而旧应用程序需要20分钟才能完成所有xml文件。 (我忘了通常应用程序下载4个xml文件,每个文件包含250,000个记录)
我知道第二种方法不是最好的方法,而且我一直在寻找如何改进它(正确的方法),但我还没有找到类似的东西。
希望你能帮助我, 非常感谢。
答案 0 :(得分:0)
就我而言,我会将XML文件上传到Azure Blob存储中,然后运行可以导入的工作者角色。