在SQL SEVER2005中我用链接服务器连接DB2的数据库. 以下语句能正确执行:
--begin tran ;
delete from OPENQUERY (MAINDB04, 'SELECT EMP_ID FROM DB2ADMIN.EMPLOYEE WHERE EMP_ID = ''181818'' ') ;
INSERT INTO OPENQUERY(MAINDB04, 'SELECT EMP_ID,EMP_CODE,EMP_NAME,EMP_HOMEADDR,STATUS FROM DB2ADMIN.EMPLOYEE ' )
VALUES('181818','181818','XYZ','ABC','0') ;
UPDATE OPENQUERY(MAINDB04, 'SELECT EMP_ID,EMP_CODE,EMP_NAME,EMP_HOMEADDR,STATUS FROM DB2ADMIN.EMPLOYEE WHERE EMP_ID = ''181818'' ' )
SET EMP_NAME = 'WXYZ' ;
--commit tran ;
但我把第一行和最后一行的注释去掉后,就不能成功执行.
显示:消息 7390,级别 16,状态 2,第 2 行
无法执行请求的操作,因为链接服务器 "MAINDB04" 的 OLE DB 访问接口 "DB2OLEDB" 不支持所需的事务接口。
如何解决呢?
------解决方案--------------------
应该你这里面的语句是必须放在一个事务中执行吧
------解决方案--------------------
你是要跟DB2关连吗?这个好像挺麻烦的需要额外的组件支持。