微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLServer2005链接Oracle10g数据库

                                  sqlServer2005链接服务器

第一部分:使用图形窗口创建

情况一:sqlServer2005通过链接服务器链接sqlServer2005

第一步:确认distributed Transaction Coordinator服务是否启动


第二步:新建链接服务器:


第三步:配置常规的链接服务器信息



第四步:配置安全性:


第五步:测试效果


情况二:sqlServer通过链接服务器连接Oracle

第一步:配置nsnames.ora 文件

D:\oracle\product\10.2.0\db_1\network\ADMIN\tnsnames.ora

CH330300 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = shuidun)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = CH330300)

    )

  )

)

第二步:测试连接

C:\>sqlplus ch330300/XXXXX@test

第三步:确认distributed Transaction Coordinator服务是否启动



第四步:新建链接服务器(如图)




参数解析:

a)链接服务器:写上链接服务器的名字,如:CH330300

b) 服务器类型,选择其他数据源

c) 访问接口:选择 Microsoft OLE DB Provider for Oracle

d) 产品名称:写上 Oracle

e) 数据源:写上tnsnames.ora 文件中配置的服务名,如:CH330300

f)访问接口字符串:user id=CH330300;password=XXXXXX

g)在选择安全性选项页,使用此安装上下文建立连接:

1:远程登录user

2:使用密码password

h) 确定

第五步:查看Oracle数据库中的内容


SELECT * FROM openquery(CH330300,'SELECT * FROM CH330300.test ')

第二部分:使用代码创建

--情况一:sqlServer通过链接服务器链接远程的sqlServer

--1.添加链接服务器

EXEC sp_addlinkedserver

   @server = 'sqlServer90', --链接服务器名称,这个取名无所谓

   @srvproduct = 'sql',  --数据库服务产品

   @provider = 'sqlOLEDB',  --数据库服务提供者

   @datasrc = '192.168.0.90'--sql数据库连接字符串

--2.链接服务器设置认连接密码

EXEC sp_addlinkedsrvlogin @rmtsrvname =  'sqlServer90', --登录远程sql链接服务器名

        @useself =  'false',

        @locallogin ='sa',  --本地登录

        @rmtuser =  'sa',--登录sql用户名

        @rmtpassword =  'XXXXXX' --登录远程sql密码

--3.查询

select * from sqlServer90.CH331081.dbo.A000001;

GO

--情况二:sqlServer通过链接服务器链接远程的Oracle

--1.添加链接服务器

    EXEC sp_addlinkedserver

   @server = 'CH33030090C', --链接服务器名称,任意取名

   @srvproduct = 'Oracle',  --数据库服务产品

   @provider = 'MSDAORA',  --数据库服务提供者

   @datasrc = '192.168.0.90/CH330300'--Oracle数据库连接字符串

--2.链接服务器设置认连接密码

    EXEC sp_addlinkedsrvlogin @rmtsrvname =  'CH33030090C', --登录远程ORACLE链接服务器名

            @useself =  'false',

            @locallogin ='sa',  --本地登录

            @rmtuser =  'CH330300',--登录Oracle用户名

            @rmtpassword =  'XXXXXX' --登录Oracle密码

--3.查询

    select * from CH33030090C..CH330300.A000067;

--或者使用openquery

select * from openquery(CH33030090C,'select * from A000067')

 

第三部分:查看sqlServer2005链接服务器有哪些?

sql语句:

select * from sys.servers where name like 'CH330300%'

第四部分:删除链接服务器

sp_dropserver '连接服务器名','droplogins'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐