私はVSとデータベースが初めてです。私が取り組んでいたプロジェクトは、古いソフトウェアを VB6 から VS 2010 C# にモダライズしようとしています。これには、外部データベースを検索する必要があります。そのため、OracleConnection() を使用してそのデータベースに接続しようとしています。Windows 7 Enterprise で Visual Studio 2010 Express を使用しています。Oracle Data Access Components (最新の 32 ビットである ODAC 11.2 リリース 5) をダウンロードしました。TNSNAMES.ora ファイルと接続文字列の両方が正しく解決されました。
現在、Sql*Plus を使用してデータベースに接続できます。また、古い VB6 バージョンのソフトウェアは、データベースから情報を取得する際にうまく機能します (ODAC を持っておらず、tnsnames.ora を正しくセットアップしていないと、機能しません)。しかし、私の VS C# はそうではありません。接続を開くことができません。エラー メッセージは「ORA-12545: ターゲット ホストまたはオブジェクトが存在しないため、接続に失敗しました」です。また、DB ホスト アドレスを IP アドレスに変更すると、「ORA-12560: TNS: プロトコル アダプタ エラー」が表示されます。
VS 2010 Express IDE に問題があると思います。誰かがそれについて何か考えを持っていますか? ODAC を再インストールしようとしましたが、解決しません。よろしくお願いします。
私のコードは、 c# 2010 Express を使用して Oracle XE に接続する場合とまったく同じです。
更新 -- 解決済み
私はついにこの質問を理解しました。私の場合、これは Global Assembly Cache の DLL に何らかの形で関連しています。私のプロジェクトは、.NET 2.0 用に設計された奇妙な ODAC に対してコンパイルされていることがわかりました。OracleDBAccess の参照をリダイレクトしようとしましたが、役に立ちませんでした。次に、新しいプロジェクトを開始し、参照権を設定してから、そこにすべてのコードをコピーしました。最終的にはうまくいきました。