首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在TNSNAME.ora中配置SQL Server数据库?

问如何在TNSNAME.ora中配置SQL Server数据库?
EN

Stack Overflow用户
提问于 2017-11-30 17:35:05
回答 2查看 7.7K关注 0票数 0

我已经创建了一个到Oracle数据库的DB链接,指向SQL Server数据库。ODBC (如果为此SQL Server数据库正确配置)。我还在Oracle数据库服务器上安装了Oracle Gateways for SQL Server。

当我尝试在Oracle数据库上执行此SQL请求时:

代码语言:javascript
复制
SELECT * FROM obbud@qualiactst

(qualiactst is my DBLink :
-- PROMPT CREATE DATABASE LINK qualiactst
CREATE DATABASE LINK qualiactst
  CONNECT TO iac IDENTIFIED BY ***** USING 'RIATST';

)

错误消息显示如下:

代码语言:javascript
复制
ORA-12154: TNS : could not resolve the connect identifier specified

我用下面的代码配置了我的Oracle数据库服务器的tnsname.ora文件:

代码语言:javascript
复制
RIATST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = grensql2k12R2-1)(PORT = 14539))
    )
    (CONNECT_DATA = (SID = RIATST))
    (HS=OK)
  )

(但我真的不知道是否必须将非oracle数据库添加到tnsname.ora中)

我不明白我做错了什么,也不知道是否遗漏了一些东西。

你能帮我吗?非常感谢

珍妮

EN

回答 2

Stack Overflow用户

发布于 2017-11-30 17:53:47

看起来您没有在目标主机上设置侦听器(grensql2k12R2-1),或者没有配置HS初始化文件。

通常,请尝试遵循this guide。有太多的细节,无法在一个答案中检查每一个细节。

票数 0
EN

Stack Overflow用户

发布于 2017-11-30 22:30:25

用于与异构MSSQL数据库进行通信。有两种选择。

1)使用专用Oracle Database Gateway for SQL Server。Oracle 2) Configuring Oracle Database Gateway for SQL Server数据库网关Configuring Oracle Database Gateway for ODBC

为SQL Server配置Oracle数据库网关的简单示例

ORACLE_HOME\dg4msql\admin\initdg4msql.ora

代码语言:javascript
复制
   HS_FDS_CONNECT_INFO=host_name:port_name//database_name

ORACLE_HOME\network\admin\listener.ora

代码语言:javascript
复制
SID_LIST_LISTENER=

############# MS SQL ####################
   (SID_LIST=
      (SID_DESC= 
         (SID_NAME=dg4msql)
         (ORACLE_HOME=oracle_home_directory)
         (PROGRAM=dg4msql)
      )
   )
##########################################

重启监听程序

代码语言:javascript
复制
lsnrctl stop
lsnrctl start

ORACLE_HOME\network\admin\tnsnames.ora

代码语言:javascript
复制
connect_descriptor_mssql=
   (DESCRIPTION=
      (ADDRESS=
         (PROTOCOL=TCP)
         (HOST=host_name_oracle_gateway_host)
         (PORT=port_number_listener_1521)
      )
      (CONNECT_DATA=
         (SID=dg4msql))
      (HS=OK))



SQL> CREATE PUBLIC DATABASE LINK name_dblink CONNECT TO "user" IDENTIFIED BY "password" USING 'connect_descriptor_mssql';
 SQL> SELECT * FROM DUAL@dblink;

生产服务器Oracle 11.2.0.4中的示例

/home/oracle/app/oracle/product/11.2.0/dbhome_1/dg4msql/admin/inittch7.ora

代码语言:javascript
复制
   HS_FDS_CONNECT_INFO=[10.89.250.87]:1433/

/home/oracle/app/oracle/product/11.2.0/dbhome_1/dg4msql/admin/inittch7.ora

代码语言:javascript
复制
 HS_FDS_CONNECT_INFO=[10.89.250.88]:1433/

/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

代码语言:javascript
复制
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1525))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.89.251.242)(PORT = 1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
        (GLOBAL_DBNAME = ssps)
        (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
        (SID_NAME = ssps)
    )
     (SID_DESC=
        (SID_NAME=tch8)
        (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1)
        (PROGRAM=dg4msql)
          )
    (SID_DESC=
         (SID_NAME=tch7)
         (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1)
         (PROGRAM=dg4msql)
         )

  )
ADR_BASE_LISTENER = /home/oracle/database

/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

代码语言:javascript
复制
SSPS_1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.89.251.242)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ssps)
    )
  )



atch7 =
  (DESCRIPTION=
      (ADDRESS=(PROTOCOL=tcp)(HOST= 10.89.251.242)(PORT=1521))
      (CONNECT_DATA=(SID=tch7))
      (HS=OK)
    )


atch8 =
  (DESCRIPTION=
      (ADDRESS=(PROTOCOL=tcp)(HOST=10.89.251.242)(PORT=1521))
      (CONNECT_DATA=(SID=tch8))
      (HS=OK)
    )




 CREATE DATABASE LINK ATCH7.GIFT.KRSK.MPS
      CONNECT TO "asuzm_link" IDENTIFIED BY <ENTER USER PASSWORD HERE>
      USING 'atch7'
    /

CREATE DATABASE LINK ATCH8.GIFT.KRSK.MPS
  CONNECT TO "asuzm_link" IDENTIFIED BY <ENTER USER PASSWORD HERE>
  USING 'atch8'
/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47570091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档