我们有一个数据存储(powerbuilder datawindow的孪生姐妹),它包含40.000行,它需要超过30分钟才能插入Microsoft 表。
目前,我正在使用脚本生成器来生成sql表定义和每个行的insert命令。最后,将完整的脚本提交给sql server执行。
我已经发现脚本生成过程消耗了整个任务的97%以上的。
您能帮我找到一种更有效的方法将客户端的数据复制到sql server表中吗?
Edit1 (在NoazDad的评论之后):
在回答之前,请记住:
发布于 2014-07-31 16:45:05
虽然马特的回答可能是最好的,但我还有另一个选择。(选择是好的,对吗?)
我不知道为什么要回避datastore.Update()方法。我假设这是因为在更新时模式不存在。如果这是唯一的原因,那么仍然可以使用它,从而消除了40,000个字符串操作实例来生成有效的SQL。
要做到这一点,首先要创建表。然后,使用datastore.SyntaxFromSQL()创建绑定到表的数据存储。可能需要几个修改()语句才能使数据存储更新成为可能。然后将数据从原始数据存储移到可更新的绑定数据存储。(看看RowsMove()或点表示法。)之后,Update()语句生成所有SQL,而不需要字符串解析和循环开销。
https://stackoverflow.com/questions/24683773
复制相似问题