gpt4 book ai didi

sql-server - 将 MS SQL Server 数据库连接到 Oracle 11g 数据库

转载 作者:行者123 更新时间:2023-12-02 04:37:54 26 4
gpt4 key购买 nike

我正在努力创建从 Oracle 数据库到一个 SQL Server 的数据库链接。

为此,我添加了以下内容:

在文件 tnsnames.ora 中:

sqlUserConn =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=(SID=sqlUserConn))
(HS=OK)
)

在文件 listener.ora 中:

(SID_DESC=
(SID_NAME=sqlUserConn)
(ORACLE_HOME=C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM=dg4odbc)
)

在文件 sqlnet.ora 中:

SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)

在文件 initsqlUserConn.ora 中:

HS_FDS_CONNECT_INFO = sqlUserConn
HS_FDS_TRACE_LEVEL = OFF

文件tnsnames.ora、sqlnet.ora和listener.ora放在**server\network\admin**,initsqlUserConn.ora放在**server\hs\admin**

我有如下的sql语句:

CREATE DATABASE LINK sqlUserConn CONNECT TO "USER" IDENTIFIED BY "PASSWORD" USING 'sqlUserConn';

然后为了测试数据库链接,我正在运行类似于:

Select * from table@sqlUserConn

此命令引发以下错误:

ORA-12154: TNS:could not resolve the connect identifier specified

显然,我做错了什么..但我还是不明白..它应该可以工作,因为我看到很多用户都是这样做的

有人能告诉我将 SQL Server 数据库链接到 Oracle 11g 的正确解决方案吗?

最佳答案

首先,确保您使用的是正确的 DSN 架构(32 位或 64 位)。如果使用不正确的体系结构,它将引发错误。Windows 上的 Oracle 有一个奇怪的行为,因此命令 lsnrctl reload 或什至使用 lsnrctl stop 然后 lsnrctl start 不会帮助刷新放置的信息在指定的文件中(tnsnames、监听器等)。所以唯一的解决办法是重新启动,然后检查 dblink 是否正常。

关于sql-server - 将 MS SQL Server 数据库连接到 Oracle 11g 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40425521/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com