web-dev-qa-db-ja.com

これはエラーORA-12154:TNS:指定された接続識別子を解決できませんでしたか?

私はこのコードを持っています:

OracleConnection con = new OracleConnection("data source=localhost;user id=fastecit;password=fastecit"); 
con.Open(); string sql="Select userId from tblusers";    
OracleCommand cmd = new OracleCommand(sql, con);
OracleDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{ messageBox.Show(dr[0].Tostring()); } 

両方のプロジェクトで同じコード、

project1「WinForm」で正しく動作しています

project2で「Excel 2007アドイン」次のエラーが表示されます。

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

私はC#.net 2010、office 2007、windows8、Oracle 10gを使用しています。

図に示すように、データベースへの手動接続を準備するとき

Visual Studioで、[表示]メニュー+サーバーエクスプローラーを開きます。

[データ接続] + [接続の追加] + [Oracleデータベースサーバーの選択]を右クリックします。名前:localhostまたはマシン名、ユーザー名とパスワードを設定し、[接続のテスト]をクリックします。テストは成功しません。enter image description here

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

TNSが定義されていない場合は、これを試すこともできます。

C#.net 2010またはVSの他のバージョンとOracle 10g Express Editionまたはそれ以前のバージョンを使用している場合、次のような接続文字列を作成します。

static string constr = @"Data Source=(DESCRIPTION=
    (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=yourhostname )(PORT=1521)))
    (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XE)));
    User Id=system ;Password=yourpasswrd"; 

その後、エラーメッセージORA-12154: TNS:could not resolve the connect identifier specifiedが表示されます。最初にシステムを再起動し、プロジェクトを実行する必要があります。

Windowsが64ビットの場合、Oracle 11g 32ビットをインストールし、11g 64ビットをインストールする場合、Oracle Developer Tools for Visual Studioバージョン11.2.0.1.2以降でOracle 11g Oracle Data Access Components(ODAC)をOTNからインストールしますOracle Universal Installerで確認します。次の事項を確認してください。

Oracle Data Provider for .NET 2.0

Oracle Providers for ASP.NET

Oracle Developer Tools for Visual Studio

Oracle Instant Client 

VSを再起動してからプロジェクトを実行します。..注:-このタイプのエラーを解決するには、システムの再起動ISが必要です.......

26
LALBABU

データベースには名前(例DB1)が必要です。これを試してください:

OracleConnection con = new OracleConnection("data source=DB1;user id=fastecit;password=fastecit"); 

TNSが定義されていない場合は、これを試すこともできます。

OracleConnection con = new OracleConnection("Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=localhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=DB1)));
User Id=fastecit;Password=fastecit"); 
6