我正在寻找一个存储过程代码,它将打开一个文本文件,读取数千行,并将代码添加到数据库中的一个表中。有没有一种简单的方法可以在 T-SQL 中实现这一点?
问问题
35337 次
4 回答
4
我建议看看使用 SSIS。它旨在做这种事情(特别是如果你需要定期做的话)。
这是一个很好的链接,可以读取文本文件并插入数据库。
于 2010-12-13T00:47:08.707 回答
3
如果文件已准备好“按原样”加载(无需数据转换或复杂映射),您可以使用批量插入命令:
CREATE PROC dbo.uspImportTextFile
AS
BULK INSERT Tablename FROM 'C:\ImportFile.txt'
WITH ( FIELDTERMINATOR ='|', FIRSTROW = 2 )
于 2010-12-13T04:45:17.170 回答
2
将许多记录插入表中的最有效方法是使用BULK INSERT(我相信这是BCP 实用程序使用的,因此它应该同样快)。
BULK INSERT
针对插入大量数据进行了优化,旨在用于简单INSERT
语句的性能根本行不通的情况。
如果BULK INSERT
不是您所追求的,那么您可能需要查看以下文章以获得更直接的技术:
文章中链接的是一个存储过程uftReadFileAsTable
,它似乎应该是通用的,足以实现你所追求的。
如果不是,那么您至少可以使用存储过程作为如何在 SQL 中读取文件的示例(它使用 OLE / Scripting.FileSystemObject)
于 2010-12-13T03:53:55.970 回答
0
为什么不使用尝试用户功能?这样您就可以使用 .NET 访问和处理您的文件。
看看这个帖子
于 2010-12-13T00:52:38.153 回答