2017-12-10 31 views
2

Oracleデータベースに接続して処理するアプリケーションを(Visual Studio、C#で)プログラミングしました。それは私のWindowsは32ビットですが、できるだけ早く私は、64ビットのWindowsを持っているサーバーにアップロードして、私はエラーを取得し、サンプルデータベースと私のPC上で正常に動作します:プログラムが64ビットWindows上で動作しない

私は、ターゲットプラットフォームを設定している

The provider is not compatible with the version of Oracle client

Visual Studioで "any cpu"をクリックします。

32ビット版と64ビット版の両方のWindowsで実行するにはどうすればよいですか?

+1

サーバーにはどのようなバージョンのOracleクライアントがインストールされていますか? – mjwills

+0

https://stackoverflow.com/questions/659341/the-provider-is-not-compatible-with-the-version-of-oracle-client https://stackoverflow.com/questions/17425538/how-to-オラクル・クライアントのバージョンとの互換性がない、プロバイダとの互換性を修正する – Hadi

答えて

1

C#データベースプロバイダは、通常、32ビットまたは64ビットです(使用したデータベースプロバイダを指定していない)。

プログラムを任意のCPUに設定すると、実行時にローカルにインストールされた.Netフレームワークによって決定される32ビットまたは64ビットのいずれかにコンパイルされます。

開発マシンは32ビットなので、32ビットで動作し、32ビットのデータベースプロバイダをローカルにインストールしています。

サーバー上で実行しようとすると、64ビットとして実行され、64ビット用のプロバイダーが見つかりません。

サーバーに64ビットプロバイダをインストールするか、プログラムをx86にコンパイルする必要があるようです。

関連する問題