1

質問がありますが、誰かが私に説明してくれることを願っています。サーバーに Oracle 11g が正しくインストールされています。ワークステーションから、tnsname.ora が Oracle データベースを指す Oracle クライアントをインストールしました。Oracle db がインストールされているサーバーに ping を実行できます。sqlplus でデータベースに接続でき、C# を使用してプログラムでデータベースに接続することもできます。しかし、私はそれにtnspingすることはできません。そうしようとすると、メッセージ 3511 が見つかりませんというエラーが表示されました。私の質問は次のとおりです。tnsping が使用されるシナリオと、tnsping を機能させるにはどうすればよいですか? つまり、tnsping が機能しない場合でも、C# を使用してプログラムでデータベースに接続できる場合、どのような点に注意する必要がありますか? 私はオラクルが初めてです..ありがとう!

4

2 に答える 2

2

次のアクションを実行しようとしましたが、成功しませんでしたが、それらは私の同様のシナリオに対する最も一般的な回答です。

1) Set Oracle_Sid to my oracle sid
2) Set Oracle_Home to my oracle home directory

問題を解決するために私がしたこと:

1) Uninstall oracle client
2) Reinstall the oracle client with the newest version 11.2.xx. 

以前のバージョンのオラクルクライアントを再インストールしてもうまくいくと思います。ただし、クライアントを再インストールする必要があるため、最新バージョンを取得したい場合があります。原因は、新しいコンピューターを自動的に準備するためのプレインストールされたアプリケーションのディスク イメージがあるため、おそらく最初の不適切なインストールです。tnsping が他の Oracle 操作を妨げることはないようです (少なくとも私が知っていることではありません)。

誰かが tnsping を実行できないが、sqlplus で接続、ping を実行できるという制限を知っている場合は、共有していただければ幸いです。

于 2013-02-08T18:39:03.217 に答える
0

$Oracle_Home の値が設定されていないか、デフォルトの SID が $ORACLE_SID に設定されていません。

これを試して :

set ORACLE_SID=mysid
export ORACLE_SID
tnsping mysid

そして、それが何を返すかを見てください。

于 2013-01-31T16:37:55.833 に答える