oracle中创建dblink链接到自身或者SQL server

注:

如果创建全局dblink,必须使用systm或sys用户,在database前加public

 

CREATE DATABASE LINK mydblink/*链接名*/

      CONNECT TO test IDENTIFIED BY test123

      USING '(DESCRIPTION =

        (ADDRESS_LIST =

          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.210)/*另一个库的地址*/

(PORT = 1521)/*端口号*/))

          (CONNECT_DATA = (SERVICE_NAME = orcl)

/*服务名*/

        )

      )';

 

Database link created.

 /*测试*/

 select count(1) from user_tables@mydblink;

 

 

 

 

 

Oracle 连接 SQL Server

 

需要去下载 额外的 网关程序

 

注意:

本次测试

Oracle (10.2.0.1.0)  服务器 ip 地址: 192.168.1.210

SQL Server (2005 开发者版本)  服务器名(SQL2005)

 

下载下来的

10201_gateways_win32.zip

 gateways 程序

可安装在 SQL Server 那台计算机上

 

本次网关程序,被安装在 

D:\oracle\product\10.2.0\tg_1

目录下.

 

安装过程会提示输入 SQL Server 数据库的信息。

该信息会被生成在

D:\oracle\product\10.2.0\tg_1\tg4msql\admin

目录下的

inittg4msql.ora

文件中。

 

将其复制粘贴为文件名

initTest2005.ora

然后修改内容

 

# This is a sample agent init file that contains the HS parameters that are

# needed for the Transparent Gateway for SQL Server

 

#

# HS init parameters

#

HS_FDS_CONNECT_INFO=SQL2005.test

HS_FDS_TRACE_LEVEL=OFF

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER

 

 

下一步,修改

D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN

目录下的

listener.ora

文件。

 

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)

      (PROGRAM = extproc)

    )

 

# 追加开始

    (SID_DESC =

      (SID_NAME = Test2005)

      (ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)

      (PROGRAM = tg4msql)

    )

# 追加结束

 

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

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

    )

  )

 

 

下一步,运行  lsnrctl stop / lsnrctl start

 

C:\>lsnrctl stop

输出略...

 

C:\>lsnrctl start

部分输出略...

服务 "Test2005" 包含 1 个例程。

  例程 "Test2005", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

命令执行成功

 

 

下一步,修改 

D:\oracle\product\10.2.0\tg_1\NETWORK\ADMIN

目录下的

tnsnames.ora

文件

 

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

    )

    (CONNECT_DATA =

      (SID = PLSExtProc)

      (PRESENTATION = RO)

    )

  )

     

# 追加开始

TEST2005 = 

  (DESCRIPTION =

    (ADDRESS_LIST =

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

    )

    (CONNECT_DATA =

      (SID = Test2005)

    )

    (HS = OK)

  )

# 追加结束    

     

 

 

tnsping 测试是否正常。

 

C:\>tnsping test2005

 

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 03-10月-

2011 14:03:03

 

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

 

已使用的参数文件:

D:\oracle\product\10.2.0\tg_1\network\admin\sqlnet.ora

 

已使用 TNSNAMES 适配器来解析别名

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)

(HOST = SQL2005)(PORT = 1521))) (CONNECT_DATA = (SID = Test2005)) (HS = OK))

OK (50 毫秒)

 

创建数据库链接 (DBLINK)

 

CREATE DATABASE LINK mssql2005

CONNECT TO "test" IDENTIFIED BY "test123"

USING '(DESCRIPTION =

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

    (CONNECT_DATA = (SID = Test2005)

    (HS = OK)

  )

)';

 

SELECT * FROM test@mssql2005;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值