C. 使用用于 Oracle 的 Microsoft OLE DB 提供程序 此示例创建一台名为 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 exec('delete from openquery(oracle_link,''select * from tt where t=''+@v+')')
在SQL SERVER 2000中调用Oracle存储过程,以前处理过,速度极慢,不如直接由前台直接连接Oracle执行。
谢谢各位回复,我试过先建链接服务器连Oracle,然后用{call oracle_link.app.package.procedure},提示调用失败。大家还有没有更好的办法啊。wangtiecheng能说说你当时是怎么做的吗?我的项目只能在SQL SERVER 2000中调用。zlp321002:你的方法是获取Oracle中的数据,不是调用Oracle的存储过程,不过还是要谢谢你。
C. 使用用于 Oracle 的 Microsoft OLE DB 提供程序
此示例创建一台名为 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
exec('delete from openquery(oracle_link,''select * from tt where t=''+@v+')')