2

新しいPCからOracleデータベースに接続しようとしています。VisualStudioとODACをインストールしました。しかし、私が単純な接続を行おうとすると、空のメッセージ、空のソース、空の番号、エラーコード-2147467259だけで例外が発生します。

OracleConnection Prueba;
Prueba = new OracleConnection("Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=XXX.XXX.XXX.XXX)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=XXXX)));User Id=XXX;Password=XXX;Pooling=true;Max Pool Size=10;Min Pool Size=1");
Prueba.Open();

例外の詳細
これはException.ToString()コードです。

Oracle.DataAccess.Client.OracleException.HandleError
(Int32 errCode、OracleConnection conn、IntPtr opsErrCtx、Object src)
at Oracle.DataAccess.Client.OracleConnection.Open()
at OracleConnectionS.Program.Main(String [] args)in C:\ Users \ Simetri \ Documents \ Visual Studio 2010 \ Projects \ OracleConnection \ OracleConnection \ Program.cs:line 19 "

なぜこれが起こっているのかについて何か考えはありますか?

アップデート

Visual Studioを管理者として実行している場合、例外は発生せず、データベースに問題なく接続できます。

OracleDirectoryにフルコントロール権限を付与してみましたC:\Oracle。ただし、(管理者としてではなく)通常の方法でVisual Studioを実行すると、例外が発生し続けます。

背景情報
-私はWindows764ビットを使用しています
-VisualStudio2010 -
SQL*PLUSで検索するだけで接続できます

4

3 に答える 3

4

したがって、ODACのすべての種類のバージョンをインストールし、これに関連するすべての投稿を検索した後。

最後に、32ビットバージョンのクリーンインストールが解決策でした。

  • まず、これまでにインストールした他のすべてのOracleクライアントをアンインストールする必要があります。
  • その後、必要なODACバージョン(可能な場合は最新)を探しますが、必ず32ビットバージョンをダウンロードしてください。

なぜ?

Visual Studioが開発されているバージョンに関連するものです。コンソールアプリケーションを開発している場合は、クライアントバージョンに問題はありませんが、Webプロジェクトを使用している場合は、32ビットバージョンが必要です。

  • 最後に、VisualStudioのすべてのプロジェクトのターゲットプラットフォームが「32ビット」であることを確認してください
  • インストールしたばかりの新しいOracle.DataAccess.dllを参照します
于 2013-12-19T14:59:24.850 に答える
0

接続文字列をこのフォームに再フォーマットして、どのように機能するかを確認してください

<add name="LoisDataAccess" connectionString="Data Source=LOISPRD;Persist Security Info=True;User ID=ABC;Password=DEF" providerName="System.Data.OracleClient" />
于 2012-09-17T14:07:53.697 に答える
0

使用しているクライアントが「インスタントクライアント」である場合は、いくつかのOracle-DLLをソリューションにコピーすることをお勧めします。ウォークトラフについては、こちらを参照してください

可能であれば、別の.NETプロバイダーを使用することをお勧めします...私の経験では、ほとんどの商用プロバイダーはOracle.NETプロバイダーよりも問題がはるかに少ないです。SOについてはこちらを参照してください。

于 2012-09-17T14:09:39.440 に答える