0

SQL Server 2000 を使用する古いアプリケーションを SQL Server 2012 にアップグレードします。Oracle Server は、Oracle Transparent Gateway を毎日使用して、このアプリケーションにデータを転送します。古い SQL Server 2000 のすべてのデータとユーザーを使用してテストするために、SQL Server 2012 をインストールした新しいサーバーがあります。

初期テストを実行していますが、構成を変更して新しい 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 Transparent Gateway 10g (10.2) が古すぎて SQL Server 2012 に接続できないのではないかと考えています。

4

1 に答える 1

0

問題は、dblink が作成されたときに、ユーザーとパスワードが引用符で囲まれていないことでした。dblinks を再作成すると、すべて正常に機能しました。

于 2012-11-08T02:31:59.590 に答える