我有大约 100,000 多个分隔文本文件(它们在每个文件中的列数不同,例如,有些文件有 10 列,有些有 20 列,依此类推)。我需要将它们全部上传到 SQL 服务器。请建议我该怎么做?
我还有一个 excel 电子表格,其中列出了存储文件的名称/路径以及每个文本文件中的列数。我不知道该怎么做。
提前致谢
我有大约 100,000 多个分隔文本文件(它们在每个文件中的列数不同,例如,有些文件有 10 列,有些有 20 列,依此类推)。我需要将它们全部上传到 SQL 服务器。请建议我该怎么做?
我还有一个 excel 电子表格,其中列出了存储文件的名称/路径以及每个文本文件中的列数。我不知道该怎么做。
提前致谢
我假设您能够使用 C#(或其他编程语言)创建一个可以帮助您完成任务的应用程序。该程序应执行以下操作:
运行所有文件并确定您需要的所有列。
在 SQL 服务器上创建一个包含程序找到的列的表。varchar(max)
为每列设置数据类型。
再次运行所有文件并将数据插入表中。有两种方法可以去:
a) 逐行插入数据。很慢,但很简单。
b)如果您使用 C#,您可以实现自己的DataReader
并使用SqlBulkCopy
类将数据批量插入表中
这是一些可能对您有所帮助的链接:
http://www.sqlteam.com/article/use-sqlbulkcopy-to-quickly-load-data-from-your-client-to-sql-server
http://www.michaelbowersox.com/2011/12/22/using-a-custom-idatareader-to-stream-data-into-a-database/
http://daniel.wertheim.se/2010/11/10/c-custom-datareader-for-sqlbulkcopy/