【发布时间】: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