0

我打算将使用 SQL Server 2000 的旧应用程序升级到 SQL Server 2012,Oracle 服务器每天使用 Oracle 透明网关将数据传输到此应用程序。我有一个新服务器,我在其中安装了 SQL Server 2012,用于测试旧 SQL Server 2000 中的所有数据和用户,完全一样。

我正在执行初始测试,当我更改配置以测试与新 SQL Server 2012 的连接时,出现错误:

SQL> Desc SOMETABLE@SOMEDBLINK;
ERROR:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[Transparent gateway for MSSQL]DRV_InitTdp: [Microsoft][ODBC SQL Server
Driver][SQL Server]Login failed for user 'correctlyconfigureduser'. (SQL State: 00000; SQL
Code: 18456)
ORA-02063: preceding 2 lines from SOMEDBLINK

在日志中我发现了这个:

2012-10-31 18:41:21.673: [  OCRRAW][9132]proprinit: Could not open raw device 
2012-10-31 18:41:21.673: [ default][9132]a_init:7!: Backend init unsuccessful : [33]
2012-10-31 18:41:21.688: [ CSSCLNT][9132]clsssinit: error(33 ) in OCR initialization

我已经使用相关用户登录,并且用户和密码都很好。无论如何,它们都是旧数据库的副本。

我想知道这个 Oracle 透明网关 10g (10.2) 是否太旧而无法连接到 SQL Server 2012。

4

1 回答 1

0

问题是当创建 dblink 时,用户和密码没有在引号内输入。重新创建 dblinks 后一切正常。

于 2012-11-08T02:31:59.590 回答