【发布时间】:2020-06-10 22:57:33
【问题描述】:
我有两个问题。
第一个查询在C:\... 文件夹中创建了一个.csv 文件,没有错误:
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=C:\Temp\TEMP_SQL_FOLDER\T-SQL to csv\;HDR=YES;FMT=Delimited','SELECT * FROM [test3.csv]')
SELECT Id, PatientNumber, Title_Id, FirstName, LastName, Gender_Id
FROM PPM2..Activity_Patient ap
第二个查询应该做同样的事情,除了 SELECT 语句被替换为过程调用:
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=C:\Temp\TEMP_SQL_FOLDER\T-SQL to csv\;HDR=YES;FMT=Delimited','SELECT * FROM [test3.csv]')
EXEC dbo.PPMLoad_MediRecOSRServices @FinancialYear='2020'
第二条语句不起作用并抛出此错误:
消息 7390,第 16 级,状态 2,第 10 行
无法执行请求的操作,因为链接服务器“(null)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”不支持所需的事务接口。
我启用了必要的设置:
USE [master]
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
GO
第二个查询根本不运行。我也没有使用任何链接服务器。这只是一个简单的导出到本地 C: 驱动器。
有什么想法吗?
【问题讨论】:
标签: sql-server tsql export-to-csv openrowset