Sql 如何从存储过程中读入文本文件
我需要在存储过程中读入由SSIS包创建的日志文件 有什么好办法吗Sql 如何从存储过程中读入文本文件,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我需要在存储过程中读入由SSIS包创建的日志文件 有什么好办法吗 我尝试使用,但它显示我的文件内容为jibberish。是否有某种编码问题它没有处理?有更简单的方法吗?您尝试过直接批量插入吗?例如: create table #TempTable (line varchar(256)) bulk insert #TempTable from 'c:\logfile.txt' 你可以试试 select * from OPENROWSET(BULK N'C:\logfile.txt', SINGL
我尝试使用,但它显示我的文件内容为jibberish。是否有某种编码问题它没有处理?有更简单的方法吗?您尝试过直接批量插入吗?例如:
create table #TempTable (line varchar(256))
bulk insert #TempTable from 'c:\logfile.txt'
你可以试试
select * from OPENROWSET(BULK N'C:\logfile.txt', SINGLE_BLOB)
执行文件操作的存储过程听起来不是个好主意 也许你可以更详细地解释这个场景,帮助人们提出更好的解决办法 但是,如果必须这样做,我认为您应该看看SQL Server中的CLR存储过程。 这样,您就可以使用常规的.NET类进行文件操作 有关更多详细信息,请参阅这些链接
这与程序集需要获得的权限有关,程序集才能访问外部资源,如SQL Server中CLR过程中的文件当您说文本文件时,您是指.txt文件吗?它会返回一个长字符串数字(可能是十六进制,没有空格?),它会将整个文件作为单个blob读取。你期待什么?:)然后,如果您愿意,您可以使用各种字符串操作功能将其拼接和切割。