3

次の環境で実行されている ASP.net Web アプリがあります。

既存の環境

オペレーティング システム: Windows 2003

フレームワーク: .NET フレームワーク: 2.0

IIS : 6.0

データベース: オラクル 10g

これを次の環境にアップグレードしたかった

現在の環境

オペレーティング システム: Windows 2008 R2 x64

フレームワーク: .NET フレームワーク: 2.0

IIS : 7.0

データベース: オラクル 11g

そうしているうちに、以下の問題に直面します

Windows Server 2008 R2 64 ビットでの ODBC 接続の問題

Windows Server 2008 R2 の ASP.net Web アプリケーションから ODBC 接続を確立できませんでした。

アプリケーションがエラーをスローします: ERROR [IM002] [Microsoft][ODBC Driver Manager] データ ソース名が見つからず、既定のドライバーが指定されていません。

接続文字列:

<add name="ConnectionString" connectionString="Driver=Oracle in XE;Dsn=winerenew;uid=winere;pwd=winere;dbq=XE;dba=W;apa=T;exc=F;fen=T;qto=T;frc=10;fdl=10;lob=T;rst=T;btd=F;bam=IfAllSuccessful;num=NLS;dpm=F;mts=T;mdi=F;csr=F;fwc=F;fbs=64000;tlo=O" providerName="System.Data.Odbc"/>

アプリケーションは、Windows 2008 x86 で完全に動作します。

Windows Server 2008 x64 でこの問題を解決するために、次の方法を試しました。

1) アプリケーション プール (IIS 7) で 32 ビット アプリケーションを有効にしました。

2) 次のコマンド C:\Windows\SysWOW64\odbcad32.exe を使用して ODBC 32 ビット ドライバーを実行します。

3) Oracle 64 ビット ODBC ドライバーをインストールしました。

上記の方法では、この問題は解決されないようです。その背後にある問題と、この問題を解決するための解決策を誰か教えてもらえますか?

4

1 に答える 1

-1

DNS が機能している場合は、からの ODBC 呼び出しのトレースを有効にできますodbcad32.exe。次に、任意の ODBC エディター/ツールから Oracle 接続をテストします (odbcモジュールを使用する単純な Python プログラムでテストすることがよくあります)。このようなトレースでは、データベースへの接続試行が成功したファイルが作成されます。接続後、データベースを閉じるプログラムを実行し、トレースを停止してトレース ファイルの名前を変更します。

次に、アプリケーションのトレースを作成する必要があります。トレースを有効にし、プログラムを開始し、データベースに接続してみて、プログラムを閉じ、トレースを停止します。ODBC 経由でデータベースに接続しようとした 2 つのファイルがあります。1 つは成功し、もう 1 つは失敗しました。それらを比較します。

于 2012-08-27T05:14:09.183 に答える