加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 通过数据库链接将Oracle连接到SQL Server

发布时间:2021-02-22 21:28:33 所属栏目:MsSql教程 来源:网络整理
导读:我正在尝试从Oracle 10G(在UNIX上)连接到SQL Server数据库(在Windows上).我查看了手册,我承认我发现文档很难遵循.似乎有几个选项可供使用,但没有一个文档描述每个选项的工作原理. 作为一个例子,我已经获得了有关我需要连接的数据库的以下信息(即SQL Server

我正在尝试从Oracle 10G(在UNIX上)连接到SQL Server数据库(在Windows上).我查看了手册,我承认我发现文档很难遵循.似乎有几个选项可供使用,但没有一个文档描述每个选项的工作原理.

作为一个例子,我已经获得了有关我需要连接的数据库的以下信息(即SQL Server数据库)

>用户名
>密码
>数据库名称[假设数据库名称为data_extract]

为了连接上面我做了以下更改

$ORACLE_HOME / HS /管理/ inithsodbc.ora

HS_FDS_CONNECT_INFO = data_extract
  HS_FDS_TRACE_LEVEL = 0

$ORACLE_HOME /网络/ admin / tnsnames.ora中

sqlserver.db =
          (DESCRIPTION =
                  (ADDRESS = (protocol=tcp)(host=10.10.10.10)(port=49400))
                          (connect_data = (sid=data_extract))
                          (hs=ok)
          )

$ORACLE_HOME /网络/管理/ listener.ora中

LISTENER =
    (DESCRIPTION_LIST =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = merlin)(PORT = 1525))
      )
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
    )

  SID_LIST_LISTENER =
    (SID_LIST =
      (SID_DESC =
        (SID_NAME = PLSExtProc)
        (ORACLE_HOME = /u/app/oracle/product/10.2.0/db)
        (PROGRAM = extproc)
      )
      (SID_DESC =
        (GLOBAL_DBNAME = db1.mydb.co.uk)
        (ORACLE_HOME = /u/app/oracle/product/10.2.0/db)
        (SID_NAME = billdb)
      )
      (SID_DESC =
          (SID_NAME = data_extract)
          (ORACLE_HOME = /u/app/oracle/product/10.2.0/db)
          (program = hsodbc)
      )
    )

注意:在listener.ora中,我只添加了最后一个SID_DESC条目.

然后我继续创建数据库链接,如下所示

create database link sqlservdb using 'sqlserver.db';

当我尝试访问表时,我收到以下错误

sqlplus> select * from TESTTABLE@sqlservdb;
  select * from TESTTABLE@sqlservdb
                             *
  ERROR at line 1:
  ORA-28545: error diagnosed by Net8 when connecting to an agent
  Unable to retrieve text of NETWORK/NCR message 65535
  ORA-02063: preceding 2 lines from ORASQLSERVER

我不确定的几件事

>我在哪里指定用户名和密码来从oracle db访问sql server到sql server db
>在互联网上阅读,我可以看到一些人引用DSN数据源.我被告知,我所拥有的信息就是我所需要的.这是正确的还是我需要别的东西?
>我在inithsodbc.ora和tnsnames.ora中指定的sid实际上是sql server数据库.它是否正确?

任何有关上述的帮助将不胜感激.谢谢

解决方法

我使用了必须在Oracle UNIX机器上配置的Data Direct驱动程序.您必须在UNIX中创建ODBC连接才能看到SQL Server. (至少我一直都是这样做的)

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读