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'





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值