分享

通过ORACLE通用连接访问SQLServer数据库的方法

 爱吃鱼的俊懒猫 2019-05-29

以下的例子,要通过ORACLE通用连接,建立三个ORACLE的DATABASELINK,分别用于访问

SQL2000服务器的ET2000,OFSS2000和BK2000数据库.

1.在ORACLE服务器上,新建三个ODBC系统数据源,名称分别为ET2000,OFSS2000,BK2000;

三个数据源都访问目标的SQLSERVER实例,不同之处仅在与默认连接的数据不同.

2.在ORACLE服务器上,ORACLE安装目录(本例中是D:\oracle\product\10.2.0\db_1\)的hs\admin目录下,参照inithsodbc.ora

  创建initET2000.ora

  参数配置如下:其中ET2000是默认连接ET2000数据库的ODBC系统数据源名称

  HS_FDS_CONNECT_INFO = ET2000

  HS_FDS_TRACE_LEVEL = 0

  类似地,创建initOFSS2000.ora和initBK2000

3.在ORACLE服务器上,ORACLE安装目录(本例中是D:\oracle\product\10.2.0\db_1\)的NETWORK\ADMIN目录下,修改tnsname.ora

增加

ET2000 = 

(DESCRIPTION = 

    (ADDRESS_LIST = 

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

    (CONNECT_DATA = 

(SID = ET2000) 

     ) 

    (HS=OK) 

)

类似的,增加OFSS2000和BK2000的配置段

4.在ORACLE服务器上,ORACLE安装目录(本例中是D:\oracle\product\10.2.0\db_1\)的NETWORK\ADMIN目录下,修改listener.ora

在这个段中,增加SID_DESC的配置

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

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

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (SID_NAME = ET2000)

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

      (PROGRAM = hsodbc)

    )

    (SID_DESC =

      (SID_NAME = OFSS2000)

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

      (PROGRAM = hsodbc)

    )

    (SID_DESC =

      (SID_NAME = BK2000)

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

      (PROGRAM = hsodbc)

    )

  )  

5.重启ORACLE服务器TNS服务

6.创建ORACLE的DATABASELINK对象ET2000.

CREATE PUBLIC DATABASE LINK ET2000

    CONNECT TO "sa"         (user)

    IDENTIFIED BY "000000"  (password)

    USING 'ET2000'          (tns || DBNAME)

/

类似的建立DATABASELINK OFSS2000和BK2000. 这里用sa用户连接,一般倒数据时用一个有SELECT所有表权限的用户就可以了

7.现在就可以使用DATABASELINK通过ORACLE客户端访问SQL数据库了,例如:

SELECT * FROM "tKHXX"@ET2000 访问ET2000库的tKHXX表

SELECT * FROM "tOF_JJZH"@OFSS2000 访问OFSS2000库的tOF_JJZH表

要注意,表名和字段名最好加双引号,否则会被按大写解析,可能导致报对象不存在的错误.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多