24

Oracle 10g データベースに接続する C# アプリケーションを作成しました。Oracle Data Access Component 11.2「ODAC」を使用すると、私のマシンで完全に動作します。

そして今、アプリケーションを展開し、.NET Framework のみを備えた別の "クリーン マシン" にインストールしたいと考えています。そして、ODAC コンポーネント全体をユーザーにインストールしたくありません!

どうすればそれができますか?次のように、必要なすべての DLL ファイルを bin フォルダーに含めようとしました。

  • oci.dll
  • ociw32.dll
  • Oracle.DataAccess.dll
  • orannzsbb11.dll
  • oraocci11.dll
  • oraociicus11.dll
  • OraOps11w.dll
  • msvcr71.dll

しかし、それでもうまくいきませんでした。この問題を解決するにはどうすればよいですか?

4

3 に答える 3

27

Oracle クライアントを個別にインストールする必要はありません。.exe と同じディレクトリに以下をインストールしました。

   Oracle.DataAccess.dll

   oci.dll 

   OraOps11w.dll

   oraociei11.dll

   msvcr71.dll 

プロジェクトが、提供しているのと同じ Oracle.DataAccess.dll を参照していることを確認してください。これは、Oracleクライアントがインストールされたことのない新しいPCで機能しました。

このような接続文字列を指定することで、TNSNAMES.oraの使用を避けました

connectionstring = Data Source="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=))" + "(CONNECT_DATA=(SERVER = DEDICATED)(SERVICE_NAME = )))"

TNSNAMES.ora を使用している場合は、接続の詳細をカット アンド ペーストして 1 行の文字列にします。

C# を Oracle データベースに接続するために必要な最小クライアント フットプリントはどれくらいですか? を参照してください

詳細については。

  • ejm

上記の dll を取得する方法については、次のチュートリアルを参照してください: http://begeeben.wordpress.com/2012/08/01/accessing-oracle-database-without-installing-oracle-client/

于 2010-12-10T10:01:01.617 に答える
9

~50 MB の ODAC インストールに加えて Oracle クライアントをインストールする必要があるのか​​、それともスタンドアロンの ODAC だけをインストールする必要があるのか​​、あなたの懸念はわかりません。

Oracle クライアントと ODAC をインストールしなければならないことが懸念される場合は、Oracle Instant Clientを使用できますか? これは、Oracle クライアントをインストールするための最小のフットプリント方法です。ODAC xcopy 補足も必要です。

あなたの懸念がODACのインストールだけである場合、利用可能なフットプリントが小さいとは思いません.

于 2010-10-14T18:10:05.803 に答える