我正在寻找一种将数据从 XML 文件导入 SQL 的最佳方法。要求之一是在目标服务器上提供整个数据库,这意味着最初应该传输大型 XML 文件,然后只传输新的和更新的文件。我的问题是如何处理文件名。我的猜测是 xml 文件应该只是增量,如 tablename1.xml、tablename2.xml 等。如果是这种情况,自动从新文件读取数据的最佳情况是什么?
也许我的逻辑完全“错误”并且有更好的解决方案?
我正在寻找一种将数据从 XML 文件导入 SQL 的最佳方法。要求之一是在目标服务器上提供整个数据库,这意味着最初应该传输大型 XML 文件,然后只传输新的和更新的文件。我的问题是如何处理文件名。我的猜测是 xml 文件应该只是增量,如 tablename1.xml、tablename2.xml 等。如果是这种情况,自动从新文件读取数据的最佳情况是什么?
也许我的逻辑完全“错误”并且有更好的解决方案?
我通常这样做的方式:
文件被放在某个指定的目录中。我们更改已处理文件的名称,以便下次省略。
创建ForEach Loop Container
并在Enumerator Configuration
- Files
:下*.*
,完全合格。里面:
Evaluation Operation: Expression
,表达式:FINDSTRING(@FileName,"processed",1) = 0
File System Task
使用 Operation: Rename File
into "processed" + @Filename
,这将产生一个processed_tablename.xml
文件。处理所选位置的所有文件,但稍后将它们移动到其他地方。步骤非常相似,实际上它只是在第 4 步不同,也不需要虚拟脚本。
两者都是独立于名称的,这就是我们在全面和增量数据设计中更喜欢这种方法的原因。