Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何从存储过程中读入文本文件_Sql_Sql Server_Stored Procedures - Fatal编程技术网

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

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

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

有什么好办法吗


我尝试使用,但它显示我的文件内容为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读取。你期待什么?:)然后,如果您愿意,您可以使用各种字符串操作功能将其拼接和切割。