Vista 64 ビットで Visual Studio 2008 を使用して、次のようなテスト Web サイトまたは Web アプリケーションを作成すると...
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
OracleConnection connection;
connection = new OracleConnection("User Id=user;Password=userpass;Data Source=dataSource;");
connection.Open();
}
}
...そして実行すると、次のエラーが発生します。
ORA-12154: TNS:could not resolve the connect identifier specified
括弧に関するこの問題を認識しています... http://duanesbrain.blogspot.com/2007/01/ora-12154-using-c-with-microsoft-visual.html
Visual Studio 2008 は Program Files (x86) にインストールされていますが、別の開発者が同じセットアップを使用しており、彼にとっては正常に動作します。プロジェクト自体は、括弧を持つ名前のディレクトリ内にはありません。
tnsnames.ora または sqlnet.ora ファイルではないことはわかっています。私は、このプロジェクトに私よりもずっと長く取り組んできたすべての開発者とまったく同じようにマシンをセットアップしました。
また、使用している接続文字列が正しいことも 100% 確信しています。
まったく同じコードでコンソール アプリケーションを作成すると、正常に接続されます。Oracle サーバーに ping を実行し、その接続文字列情報を使用してコマンド プロンプトから直接接続することもできます。
もう 1 つの奇妙な点は、VS 2005 (これも Program Files (x86) にインストールされています) を使用して同じコードで Web アプリケーションまたは Web サイトを作成すると、正常に動作することです。
VS 2008 のみを使用する Web アプリケーションとサイトに制限されているようです。
編集:私の oracle フォルダーには、現在すべてのユーザーに与えられているすべてのアクセス許可があることを追加する必要があります。
編集: Oracle のバージョンは 10.2.0 です
編集:洞察に感謝します。私はそれを機能させることができず、他の開発者は、XP vm を構築して作業する方が速いと判断しました。数時間で 1 つのセットアップが完了し、すべてが正常に動作しました。