无法通过链接服务器将数据插入Redshift

时间:2015-06-10 16:27:36

标签: sql sql-server odbc linked-server amazon-redshift

我们使用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从数据集插入时会发生这种情况。

这是驱动程序问题还是可以配置链接服务器以防止此问题?

1 个答案:

答案 0 :(得分:0)

我通过使用EXECUTE(' INSERT INTO TABLENAME1(COL1,COL2)SELECT COL1,COL2 FROM TABBLENAME2')AT解决了这个问题

希望这对那里的人有用。