2009-12-07 23 views
0

我們在Linux和SQL Server 2005以及IBM db2 odbc驅動程序上使用DB2 9.1。我們有一個鏈接服務器設置爲DB2。從SQL Server中,我能做到以下幾點:使用4部分命名從SQL Server 2005插入到DB2?

-- 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) 

我得到一個 「驅動程序不支持」 錯誤消息:

OLE DB提供程序 「MSDASQL」 鏈接服務器 「LINKDB2」 返回了消息「[IBM] [CLI Driver] CLI0150E Driver not able。SQLSTATE = S1C00「。 Msg 7343,Level 16,State 2,Line 1 鏈接服務器「LINKDB2」的OLE DB提供程序「MSDASQL」無法插入表「[LINKDB2] .. [DEV]。[TESTSYLVIAB]」。

有什麼想法?

謝謝! Sylvia

回答