如何从存储过程中读取文本文件

时间:2010-09-07 14:12:43

标签: sql sql-server stored-procedures

我需要在我的存储过程中读取由SSIS包创建的日志文件。

有没有好办法呢?

我尝试使用this code,但它将我的文件内容显示为乱码。是否有某种编码问题,它没有处理?有更简单的方法吗?

3 个答案:

答案 0 :(得分:5)

您是否尝试过直接插入?例如:

create table #TempTable (line varchar(256))
bulk insert #TempTable from 'c:\logfile.txt'

答案 1 :(得分:1)

你可以尝试

select * from OPENROWSET(BULK N'C:\logfile.txt', SINGLE_BLOB)

答案 2 :(得分:0)

执行文件操作的存储过程听起来不是一个好主意!

也许你可以更详细地解释这个场景,这可能有助于人们建议更好的出路。

但是,如果您必须,我认为您应该查看SQL Server中的CLR存储过程。 这样,您可以使用常规.NET类进行文件操作

有关详细信息,请参阅这些MSDN Link 1MSDN Link 2链接

此特定link与需要提供给程序集的权限相关,以便能够从SQL Server中的CLR过程访问外部资源(如文件)