Sql server 2005 使用4部分命名从SQLServer2005插入DB2?

Sql server 2005 使用4部分命名从SQLServer2005插入DB2?,sql-server-2005,odbc,db2,Sql Server 2005,Odbc,Db2,我们在Linux和SQLServer2005上使用DB29.1,以及IBMDB2ODBC驱动程序。我们有一个连接到DB2的服务器。从SQL Server,我可以执行以下操作: -- I can create the new table fine exec ('create table dev.TestSylviaB (field1 int) in TS_DEV_USER_XXXX') at LinkDB2 -- I can use 4 part naming to select from it

我们在Linux和SQLServer2005上使用DB29.1,以及IBMDB2ODBC驱动程序。我们有一个连接到DB2的服务器。从SQL Server,我可以执行以下操作:

-- I can create the new table fine
exec ('create table dev.TestSylviaB (field1 int) in TS_DEV_USER_XXXX')
at LinkDB2

-- I can use 4 part naming to select from it, as long as I skip the second part and put everything in upper case
select * from LINKDB2..DEV.TESTSYLVIAB

-- I can insert using Exec (which does pass through)
exec ('insert into DEV.TestSylviaB (field1 ) values (1)') at LinkDB2

-- HOWEVER I cannot insert via the standard 4 part naming, like this:
insert into LINKDB2..DEV.TESTSYLVIAB values (1)
我收到一条“驱动程序无法”错误消息:

链接服务器“LINKDB2”的OLE DB提供程序“MSDASQL”返回消息“[IBM][CLI驱动程序]CLI0150E驱动程序不可用。SQLSTATE=S1C00”。 信息7343,16级,状态2,第1行 链接服务器“LINKDB2”的OLE DB提供程序“MSDASQL”无法插入表“[LINKDB2]…[DEV].[TESTSYLVIAB]”

有什么想法吗

谢谢!
Sylvia

4部分名称插入是一个分布式事务,DB2驱动程序需要注册到其中。看。

谢谢你,雷姆斯!这看起来不错。我现在还不能测试,但我很有希望。当我们真正开始工作时,我会编辑这个。