1

オラクルの hsodbc 汎用データベース リンク ドライバーを使用して、オラクル 10gr2 データベース サーバーから postgresql データベースにアクセスしようとしています。すべてが構成されていると思いますが、リモート クエリを試行した後、sqlplus プロンプトからこのエラーが表示されます。

SQL> select * from temp_user@intranet;
select * from temp_user@intranet
                        *
1 行目のエラー:
ORA-28545: エージェントへの接続時にNet8によってエラーが診断されました
NETWORK/NCR メッセージ 65535 のテキストを取得できません
ORA-02063: INTRANET からの前の 2 行

Linuxコマンドラインから「isql」を使用すると(つまり、odbc接続のみをテストします)、クエリは機能します。

「isql intranet」と入力します (intranet は odbc 接続の名前です)。プロンプトが表示され、select * from temp_user と入力すると、画面に 157 レコードが返されます。

したがって、odbc 構成が正しくセットアップされていることはわかっています。これが私がオラクルに対して行うことです。

%oracle_home/hs/admin/initsodbc.ora
HS_FDS_CONNECT_INFO = イントラネット
HS_FDS_TRACE_LEVEL = オフ
HS_FDS_SHAREABLE_NAME = /usr/bin/ODBCConfig
%oracle_home/network/admin/tnsnames.ora
イントラネット =
  (説明 =
    (ADDRESS_LIST =
      (アドレス = (プロトコル = TCP)(ホスト = 192.168.5.1)(ポート = 5432))
    )
    (CONNECT_DATA =
      (SID = イントラネット)
    )
    (HS = OK)

%oracle_home/network/admin/listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = イントラネット)
      (プログラム = hsodbc)
      (SID_NAME = イントラネット)
      (ORACLE_HOME = /home/oracle/app/OraHomeTEST)
リスナー =
  (DESCRIPTION_LIST =
    (説明 =
      (アドレス = (プロトコル = TCP)(ホスト = oracledb.andersen-const.com)(ポート = 5432))
    )
  )

リスナーを再起動しました。その状態は以下の通りです。

サービス概要...
サービス "INTRANET" には 1 件のインスタンスがあります。
  インスタンス「INTRANET」、ステータス不明、このサービスのハンドラが 1 つあります...

次に、データベース サーバーのコマンド ラインから sqlplus に入り、次の操作を行います。

drop database link intranet;

データベース リンクを作成する イントラネットは、「イントラネット」を使用して、パスワードで識別されるユーザーに接続します。

これは成功です。

しかし、私が走るとき

 select * from temp_user@intranet

エラーが表示される

1 行目のエラー:
ORA-28545: エージェントへの接続時にNet8によってエラーが診断されました
NETWORK/NCR メッセージ 65535 のテキストを取得できません
ORA-02063: INTRANET からの前の 2 行

私は少なくとも良い一日を構成に戻って試してみましたが、常にこのエラーが発生します。

どなたか良いアイデアをお持ちの方、

4

1 に答える 1

1

「tnspingイントラネット」は何を報告しますか?

hsodbcプログラムがゲートウェイインストールのOracle_home/binディレクトリにあることを確認しますか?また、LD_LIBRARY_PATHは正しく設定されていますか?

LD_LIBRARY_PATHは$ORACLE_HOME/libである必要があると思います。申し訳ありませんが、最近は* Nixをあまり使用していないので、わかりません。

于 2009-06-25T16:14:27.410 に答える