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 に接続できないのではないかと考えています。