我们使用SQL Server 2014 Express中的Amazon Redshift ODBC驱动程序(x64)设置了新的链接服务器。 SELECT语句使用OPENQUERY按预期工作,例如:
SELECT * FROM OPENQUERY(Redshift_Linked_Server, 'SELECT * FROM tableA')
但是我们不能使用OPENQUERY的INSERT功能,例如:
INSERT OPENQUERY(
Redshift_Linked_Server,
'SELECT SingleValue from tableA')
VALUES ( '2' )
运行时,我们会收到以下错误消息:
OLE DB提供程序" MSDASQL"对于链接服务器" Redshift_Linked_Server"返回消息"未指定错误"。
OLE DB提供程序" MSDASQL"对于链接服务器" Redshift_Linked_Server"返回消息"事务不能具有此游标类型的多个记录集。更改游标类型,提交事务或关闭其中一个记录集。"。
Msg 7343,Level 16,State 2,Line 9 OLE DB提供程序" MSDASQL"对于链接服务器" Redshift_Linked_Server"无法插入表格#34; [MSDASQL]"。
使用VALUES从单行插入或使用SELECT从数据集插入时会发生这种情况。
这是驱动程序问题还是可以配置链接服务器以防止此问题?
答案 0 :(得分:0)
我通过使用EXECUTE(' INSERT INTO TABLENAME1(COL1,COL2)SELECT COL1,COL2 FROM TABBLENAME2')AT解决了这个问题
希望这对那里的人有用。