【问题标题】:Accessing SQL Server gives error - ORA-12154: TNS:could not resolve the connect identifier specified访问 SQL Server 出现错误 - ORA-12154: TNS:could not resolve the connect identifier specified
【发布时间】:2017-09-15 16:28:57
【问题描述】:

我在同一台虚拟机上安装了 SQL Server 2012 和 Oracle 11g,操作系统是 Windows Server 2012。我正在尝试将 Oracle 连接到 SQL Server。我保持机器不变,希望过程会更容易。两天前我创建了这台机器,在将它应用到服务器之前测试连接过程。

以下是我采取的步骤。

1) 使用已成功测试的简单/非管理员用户凭据为名为 sqlodbc 的 SQL Server 创建了 ODBC 连接。

2) 我的 tnsnames.ora 文件在下面

sqlodbc
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = localhost)(PORT = 1433))
(CONNECT_DATA =(SID = sqlodbc))
(HS = OK)
)

[SQL Server 端口为 1433] [我什至尝试使用端口 1521 但同样的问题]

3) listener.ora 文件中的SID_LIST_LISTENER 部分如下

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME=sqlodbc)
(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = hsodbc)
)
)

4) 我在 [Oracle_Home]\hs\admin 处创建了 initsqlodbc.ora 文件,其中包含以下内容

HS_FDS_CONNECT_INFO = sqlodbc
HS_FDS_TRACE_LEVEL = off

5) 我创建了公共数据库链接

create public database link sqls 
connect to "user" identified by "pass" 
using 'sqlodbc';

我在这里查看了其他线程,但找不到任何解决我的问题的方法。

我正在尝试运行以下命令

select * from empnew@sqls

我的配置哪里出错了?或者如果我错过了任何步骤?还是我完全采取了错误的方法?

如果能得到任何帮助,我将不胜感激。

谢谢。

[注意:当我重新启动机器并尝试运行相同的命令时,我最初收到“数据库未打开错误”,但一分钟左右后它变成了 TNS 错误。 ]

【问题讨论】:

    标签: sql-server oracle oracle11g sql-server-2012 connection


    【解决方案1】:

    所以一定有一些语法错误给了我这个问题。

    我重新创建了 ODBC 连接,重新编写了 tnsnames.ora 和 listener.ora 文件中的条目,并删除了所有之前的注释条目。空格、" 和括号可能会导致问题,因此请确保所有内容都已考虑在内。

    可以在此位置找到我更新的 ora 文件以供将来参考。 (这是另一个关于不同错误的问题,但包含正确格式的所有信息。) Issue connecting Oracle 11g to SQL Server 2012 -- ORA-12523: TNS:listener could not find instance appropriate for the client connection

    【讨论】:

      【解决方案2】:

      试试这个 TNSNAMES.ora 条目吧:

      sqlodbc
      (DESCRIPTION =
      (ADDRESS = (PROTOCOL = tcp)(HOST = localhost)(PORT = 1433))
      (CONNECT_DATA =(SERVICE_NAME = sqlodbc))
      (HS = OK)
      )
      

      【讨论】:

      • 不。还是同样的问题。我按照这个网站 [link]dba-oracle.com/… 的 Oracle Gateway 步骤操作,我得到了同样的错误。我也关闭了防火墙,以确保注意阻止连接。
      • 为了清楚起见,我今天也尝试了 Oracle 网关,看看是否可行。我昨天尝试了 ODBC 过程,我都遇到了同样的错误。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多