SQL链接服务器问题

youngjun 2011-09-15 03:35:04
最近在项目中遇到跨数据库平台问题,故需要在SQL Server2000中读取Oracle数据内容,我在SQL控制台中增加一个链接服务器测试后没有问题,但通过命令增加链接服务器的就报:错误7403,未能找到OLEDB提供程序'Microsoft OLE DB Provider for Oracle'的注册表项
SQL中命令:
sp_addlinkedserver
@server=N'MIS',
@srvproduct=N'quemis',
@provider=N'Microsoft OLE DB Provider for Oracle',
@provstr=N'Data Source=quemis;User ID=quemis;Password=quemis123;',
@datasrc=N'quemis-21'


sp_addlinkedsrvlogin
@rmtsrvname=N'MIS',
@locallogin=N'sa',
@useself=N'false',
@rmtuser=N'quemis',
@rmtpassword=N'quemis123'

各位大侠有没有遇到此类问题,如何解决?

...全文
120 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2011-09-15
  • 打赏
  • 举报
回复
在SQL SERVER 2000中访问Oracle数据库服务器的几种方法

1.通过行集函数opendatasource
要求:本地安装Oracle客户端
select * from opendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL
其中,MSDAORA是OLEDB FOR Oracle的驱动,

注意:用户名和表名一定要大小,服务器和用户名之间是两个点;
例如:
select top 10 * from opendatasource('MSDAORA', 'Data Source=HZTEST;User ID=osstest;Password=a1234')..OSSTEST.SUBSCRIBER

本地Oracle客户端配置文件中内容如下:
HZTEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 132.149.7.19)(PORT = 1521))
)
(CONNECT_DATA =
(SID = test)
)
)

2. 使用MS SQL的openrowset函数
select A.* from openrowset('MSDAORA','XST4';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A
order by A.ID
使用这种方式一定要用别名才行

3.使用ODBC方式
select A.* from openrowset('MSDAORA','XST4_ODBC';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.ID
XST4_ODBC是ODBC数据源

4.使用链接服务器方式
EXEC SP_ADDLINKEDSERVER
@server='mylinkedserver', --链接服务器名称
@srvproduct='Oracle', --固定
@provider='MSDAORA', --固定
@datasrc='XST4' --Oracle本地服务名


该文章转载自德仔工作室:http://www.dezai.cn/article_show.asp?ArticleID=17285

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧