独立于数据库引擎的 SqlBulkCopy 模拟
加载大量数据的最佳独立于数据库引擎的方式是什么?
当我使用 SQL Server 时,我使用 SqlBulkCopy 但想从 SQL Server 中解开
What is the best database engine independent way to load a huge amount of data.
While I'm using SQL Server I use SqlBulkCopy but want to untie from SQL Server
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
没有独立于数据库引擎的方法来执行此操作。
每个数据库服务器都有自己的方式(例如 Sybase 的 bcp)。
可能有一些第三方产品可以为您完成这项工作,但它只是底层特定于服务器的方法的包装(如果这就是您正在寻找的,您可能想澄清您的问题)。
注意:按照 Mark 的建议执行一堆 INSERT 绝对不一样,因为由于被记录(与 bcp 不同),INSERT 比本机批量插入慢得多。
There is no database engine independent way of doing this.
Each DB server has its own way (e.g. bcp for Sybase).
There may be some 3rd party product which can do the work for you but it will merely be a wrapper around server-specific methods underneath (If that's what you're looking for, you may want to clarify your question).
NOTE: doing a bunch of INSERTs as Mark suggested is definitely not the same, since INSERTs are MUCH slower than native bulk inserts due to being logged (unlike bcp).
独立于数据库的批量插入?不可能。
我能想到的最接近的是创建一个插入脚本,其中包含如下行:
它会很好地压缩,因此您可能需要对其进行 gzip。
不过,您可能最好坚持使用数据库特定的命令。 “数据库独立”往往只是“慢”的同义词。
Database independent bulk insert? Not possible.
The closest I can think of is to create an insert script with lines like this:
It will compress well, so you might want to gzip it.
You're probably better off sticking with the database specific commands though. "Database independent" is often just a synonym for "slow".