使用BULK将文本文件的内容读入varchar

时间:2013-10-07 16:11:48

标签: sql sql-server bulk

我遇到了一个问题,我需要将.txt文件中的数据读入SQL Server中的变量。读取需要以编程方式执行,因为它将构成存储过程的一部分,并且它不需要使用BULK方法,因为我没有权限在相关数据库上使用BULK方法。这可能吗?

提前致谢:)

2 个答案:

答案 0 :(得分:3)

您能让他们允许Ad Hoc Distributed Queries吗?然后,您可以使用OpenRowset or OpenDatasource

SELECT * 
FROM   OPENROWSET('MSDASQL',  
'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=c:\users\graham\desktop;', 
'SELECT * FROM [data.txt];'

如果您需要,这是重新配置的代码:

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
go

但这是一种费力的技术 - 您确定无法使用客户端代码吗?甚至,我不知道,VBA在Excel中还是什么?

答案 1 :(得分:0)

没有其他方法可以在SQL Server中没有这些权限的情况下读取文件的内容,或者没有设置文件的链接。否则,您必须通过SSIS或使用编程来完成此操作。

解决方案是获得解决问题的权限。