0

標準の Delphi dbexpress dbexpora.dll + oci.dll (10g) を使用します (Oracle InstantClient がインストールされています)。

Oracle Database ボックスに直接接続すると、dbexpress アプリを問題なく実行できます。その場合に使用されるローカルの dbxconnections.ini エイリアスは、DB サービス名 ORCL を「データベース」パラメータとして指定するだけです。

クライアント マシンからこの同じデータベースに接続しようとすると、一連のエラーが発生します。

当然、データベース パラメータであらゆる種類の文字列を試しています。MOHAWK2:1521:ORCL のような文字列を使用すると、少なくともリスナー エラーが発生する可能性があります。

接続の失敗: ORA-12514 TNS: リスナーは現在、接続記述子で要求されたサービスを認識していません。

命名の可用性をテストするツールがいくつかあると思います...

4

4 に答える 4

2

サーバーで TNSPING を使用して、サービス名がどのように解決されているかを確認します。さまざまな構成オプションとファイルを使用して、単純な指定を完全なサーバー/ポート/サービスにマップできます。

C:>TNSPING ORCL

TNSNAMES アダプターを使用してエイリアスを解決しました 連絡を試みています (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE))) OK (0ミリ秒)

サーバー/ポート/サービスを抽出し、使用するコンポーネントまたは接続方法に必要な形式で接続文字列を作成します。

于 2009-05-13T18:55:21.353 に答える
1

Oracle サーバーでリスナーがセットアップされ、実行されていますか? 接続先のデータベースのインスタンス/サービスへの接続を受け入れていますか? lsnrctl status で確認しましたか? sqlnet ロギングとリスナー ロギングをオンにして、リモート サイトからデータベースへの接続を行っているかどうか、サービスが拒否された理由についてリスナー ログにどのようなエラーが記録されているかを確認しましたか? リスナーは tcp 接続を受け入れますか、それともリスナーは IPC 接続のみを受け入れますか? TCP 接続をリッスンしないと、リモート接続を受け入れません。

于 2009-05-13T19:47:18.273 に答える
1

申し訳ありませんが、大文字については、これは私にとってすべて新しいことです。私には評判がありません。私が持っていたものは、この質問のタイトルが大文字になっているために下げられました。回答したすべての人にコメントする方法がわかりません.....それは私をさせません....私は十分な評判を持っていません. 私は別のフォーラムに移動する必要があると思います....

とりあえず、

解決しました!

新しい vmware クローンをセットアップしました - Oracle クライアントといくつかの dll と exe をディレクトリにインストールしたところ、動作しました。

それで、私が作業していた箱とビンゴの余分なものをすべて取り除きました。

すでにそのマシンにあったのは、delphi 2007 からの干渉だったと思います...その周りにすべてをパスしようとしているにもかかわらず。

于 2009-05-14T14:15:07.783 に答える
1

最初に tnsping を使用して接続を確認します。問題がなければ、sqlplus で接続してみてください。tnsping が失敗する場合は、間違ったサービス名を使用しているか、クライアントを適切に構成していません。ローカル構成に依存している場合、編集するファイルは ORAHOME\NETWORK\ADMIN の tnsnames.ora で、サーバーを見つけるために構成設定が必要です。これには、ホスト、ポート、およびサービス名が含まれます。

于 2009-05-13T19:48:46.057 に答える