此示例创建一台名为 LONDON Mktg 的链接服务器,该服务器使用用于 Oracle 的 Microsoft OLE DB 提供程序,并且假设此 Oracle 数据库的 SQL*Net 别名为 MyServer。USE master GO -- To use named parameters: EXEC sp_addlinkedserver @server = 'LONDON Mktg', @srvproduct = 'Oracle', @provider = 'MSDAORA', @datasrc = 'MyServer' GO -- OR to use no named parameters: USE master GO EXEC sp_addlinkedserver 'LONDON Mktg', 'Oracle', 'MSDAORA', 'MyServer' GO
,然后再对这个联接里的表做?
请高手们给些详细说明或者写一些代码(SQL)。。thanks
GO
-- To use named parameters:
EXEC sp_addlinkedserver
@server = 'LONDON Mktg',
@srvproduct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'MyServer'
GO
-- OR to use no named parameters:
USE master
GO
EXEC sp_addlinkedserver
'LONDON Mktg',
'Oracle',
'MSDAORA',
'MyServer'
GO
然后
link1.目录名.架构名.表名
(所影响的行数为 1 行)服务器: 消息 7391,级别 16,状态 1,过程 INSERTZB,行 4
该操作未能执行,因为 OLE DB 提供程序 'SQLOLEDB' 无法启动分布式事务。
[OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中。 ]触发器如下:
CREATE TRIGGER test_exam ON [dbo].[test1]
FOR INSERT
AS
--drop trigger test_exam
begin
declare @id int --序号
declare @name varchar(20) --姓名select id=@id,name=@name from inserted
exec INSERTZB @name
end储存过程:CREATE PROCEDURE INSERTZB @ZB varchar(20) AS
--Drop PROCEDURE INSERTZB
--set @ZB='a'
insert OPENDATASOURCE('SQLOLEDB', 'Data Source=192.168.2.136;User ID=SA;Password=' )
.test.dbo.test(name) values (@ZB)GO