建议将.csv文件导入Microsoft SQL Server 2008 R2的建议方法是什么?
我想要快速的东西,因为我有一个包含许多.csv文件的目录(> 500MB分布在500个.csv文件中)。
我在Win 7 x64上使用SQL Server 2008 R2。
更新:解决方案
这是我最终解决问题的方法:
为什么这种方法读取.csv文件的速度非常快?Microsoft SQL Server可以使用其自身高度优化的例程将文件直接从硬盘驱动器直接导入数据库。其他大多数基于C#的解决方案都需要更多代码,并且某些最终解决方案(如LINQ to Entities)最终不得不通过C#-to-SQL-server链接将数据缓慢地传递到数据库中。
是的,我知道使用100%纯C#代码来完成这项工作会更好,但是最后:
在T-SQL脚本中使用BULK INSERT似乎是一个很好的解决方案。
http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql- server-using-bulk-insert-load-comma-delimited-file-into-sql- 服务器/
您可以使用xp_cmdshell和dir命令(稍作清除)来获取目录中的文件列表。过去,我尝试使用sp_OAMethod和VBScript函数执行类似的操作,并且不得不使用dir方法,因为我无法使用FSO对象获取文件列表。
http://www.sqlusa.com/bestpractices2008/list-files-in- directory/