我遇到了一个问题,我需要将.txt文件中的数据读入SQL Server中的变量。读取需要以编程方式执行,因为它将构成存储过程的一部分,并且它不需要使用BULK方法,因为我没有权限在相关数据库上使用BULK方法。这可能吗?
提前致谢:)
答案 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或使用编程来完成此操作。
解决方案是获得解决问题的权限。