5

私はデータベースを扱う初心者です。ac# アプリケーションから Oracle10g データベースにアクセスしようとしています。しかし、そうすると、次のエラーが発生します。

ORA-12154: TNS: 指定された接続識別子を解決できませんでした"

私は次のコードを使用しています:

string oradb = "Data Source=ORCL;User Id=system;Password=goodbye;";
OracleConnection conn = new OracleConnection(oradb);  // C#
conn.Open();

接続文字列にエラーはありますoradbか?

4

3 に答える 3

7

を起動し、メニュー + サーバー エクスプローラーVisual Studioを開きます。View

  1. マウスの右クリックData Connection+ Add Connection+ 選択Oracle Database
  2. server Name :localhostまたはname of your machine、ユーザー名とパスワードを設定し、[接続のテスト] をクリックして上記のパラメーターを確認します。テストが成功したら、OK を押します。

プロパティ ウィンドウから接続文字列を取得できます。次のようになります。

Data Source=localhost;Persist Security Info=True;User ID=scott;Password=***********;Unicode=True
于 2012-09-16T07:47:19.817 に答える
0

This is a very common oracle error. Simply put, it means that you have named the database you wish to be connected to and Oracle doesn’t know who the heck you’re talking about. I suggest 6 Steps to fix ORA-12154:

  1. Check instance name has been entered correctly in tnsnames.ora.
  2. There should be no control characters at the end of the instance or database name.
  3. All paranthesis around the TNS entry should be properly terminated
  4. Domain name entry in sqlnet.ora should not be conflicting with full database name.
  5. If problem still persists, try to re-create TNS entry in tnsnames.ora.
  6. At last you may add new entries using the SQL*Net Easy configuration utility.

More informations on oracle site or here : http://turfybot.free.fr/oracle/11g/errors/ORA-12154.html

于 2013-02-17T16:36:45.700 に答える
0

Oracle は、データベースが見つからないと言っているだけです。

ローカルExpress Editionデータベースを実行している場合は、インスタンス名として を使用するだけXEで、すべてが既にセットアップされているはずです。それ以外の場合は、最も簡単に に追加できますtnsnames.ora

変更する正しいものを見つけるには、tnsnames.ora(コマンドプロンプトから)試すことができます

tnsping ORCL

これにより、Oracle がデータベースの検索に使用しているファイルがわかります。が不明なコマンドである場合tnspingは、実行する前に検索して正しい場所に移動する必要がある場合があります。

正しい が見つかっtnsnames.oraたら、それにインスタンスを追加する必要がありますORCL。例を含む既存のファイルがあるはずです。そのファイルの構文は複雑すぎてここで回答できません。ヘルプが必要な場合は、Oracle に非常に広範なドキュメントがあります

于 2012-09-16T08:14:18.353 に答える