有A,B2服务器(局域网内),我在A数据库中的一表中做了一个触发器,当触发时,我想从A中读数据,然后插入数据到B服务器的数据库中:
单独的sql例子如下:
-------------------------------------------------------------------------------------------
--如果存在相同的远程登录映射,删除
Exec sp_droplinkedsrvlogin [192.168.1.249],Null
Exec sp_dropserver [192.168.1.249]
EXEC sp_addlinkedserver
'192.168.1.249', --要创建的链接服务器名称
'SQL Server' --这里就用数据源作名称
--创建链接服务器上远程登录之间的映射
EXEC sp_addlinkedsrvlogin
'192.168.1.249',
'false',
NULL,
'sa', --远程服务器的登陆用户名
'xxx' --远程服务器的登陆密码
INSERT INTO [192.168.1.249].sanchang_nhibernate.dbo.T_Theth_Member(login_Name,password,eMail,real_Name,telephone,address,mobilephone,zip,log_Time)
SELECT ROUND((RAND()* 10000000),0),ROUND((RAND()*100000),0),'',ContacterName,Phone,Address,Mobile,ZipCode,GETDATE()
FROM dbo.T_Order WHERE OrderID=791
------------------------------------------------------------------------------------
如果我单独执行这段,能够正常取数据以及向B服务器中插入数据。但写成触发器后,便会报如标题所示错误,在网上找了一些问题的解决方案,但问题还没有解决,为了使篇幅简洁,便没有将触发器语句写出来了,我想问题重点应该不是触发器的语句问题。求路过的高人指点下
如果是SQL Server 2005,我建议你使用SSMS的一个功能:链接服务器,它支持跨数据库的链接,使用的时候也很方便, select * From SQLLink.DBname.dbo.TableName 就可以了。