Мы используем DB2 9.1 в Linux и SQL Server 2005 и драйвер IBM db2 odbc. У нас есть связанный сервер, настроенный на 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)
Я получаю сообщение об ошибке «драйвер не совместим»:
Поставщик OLE DB "MSDASQL" для связанного сервера "LINKDB2" вернул сообщение "[IBM] [Драйвер CLI] CLI0150E Драйвер не поддерживается. SQLSTATE = S1C00".
Сообщение 7343, уровень 16, состояние 2, строка 1
Поставщик OLE DB "MSDASQL" для связанного сервера "LINKDB2" не смог вставить таблицу INTO "[LINKDB2] .. [DEV]. [TESTSYLVIAB]".
Есть мысли?
спасибо!
Sylvia