7

我正在寻找一个存储过程代码,它将打开一个文本文件,读取数千行,并将代码添加到数据库中的一个表中。有没有一种简单的方法可以在 T-SQL 中实现这一点?

4

4 回答 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 )

http://msdn.microsoft.com/en-us/library/ms188365.aspx

于 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 回答