读书人

异构数据库同步存储过程中不能施用o

发布时间: 2012-12-29 10:28:09 作者: rapoo

异构数据库同步,存储过程中不能使用openQuery?
sql server 2000 同步oracle中的数据

if exists(select 1 from master..sysservers where srvname='sHisDB')
exec sp_dropserver 'sHisDB','droplogins' exec sp_addlinkedserver 'sHisDB', ' ', 'MSDAORA.1', 'test'
exec sp_addlinkedsrvlogin 'sHisDB', 'false',null, 'medrec', 'medrec'
创建sql server 2000到oracle 的连接
然后 想写个存储过程,同步数据
create proc Proc_Update_Patient
as
SELECT * FROM OPENQUERY(sHisDB,' select * from Interface_Patient_Mi')

以上创建一个简单的存储过程 语法分析通过
但执行是 出现
OLE DB 提供程序 'MSDAORA.1' 报错。
[OLE/DB provider returned message: ORA-12541: TNS:no listener
]
错误 为什么 OPENQUERY 不能用在存储过程中吗?
[解决办法]
用动态语句
exec(.....)
[解决办法]

读书人网 >SQL Server

热点推荐