1

odbc データ プロバイダー (informix 3.33; 32 ビット) を介して Informix データベースにアクセスするための新しいデータ ソースを作成しました。この接続のテストは成功したので、新しい接続マネージャー (データ ソースからの新しい接続) を作成して、ADO NET 宛先タスクに使用しました。宛先テーブルを選択しようとすると、次のエラーが発生するまでに約 10 秒かかります。

===================================

接続マネージャー 'Test' のテーブル情報を取得できませんでした。プロバイダの不変名 'Oracle.DataAccess.Client' の DbProviderFactory クラスを作成できませんでした。このプロバイダがこのコンピュータに正しくインストールされていることを確認してください。(マイクロソフトビジュアルスタジオ)

===================================

プロバイダの不変名 'Oracle.DataAccess.Client' の DbProviderFactory クラスを作成できませんでした。このプロバイダがこのコンピュータに正しくインストールされていることを確認してください。(Microsoft.DataTransformationServices.Design)

------------------------------ ヘルプについては、http: //go.microsoft.com/fwlink?ProdName=Microsoftをクリックしてください。 %u00ae+Visual+Studio%u00ae+2008&ProdVer=9.0.30729.1&EvtSrc=Microsoft.DataTransformationServices.Design.SR&EvtID=CouldNotGetFactory&LinkId=20476

------------------------------ プログラムの場所:

Microsoft.DataTransformationServices.Design.ConnectionManagerUtils.GetConnectionTypeFromInvariantName (文字列 providerInvariantName) で Microsoft.DataTransformationServices.Design.ConnectionManagerUtils.GetInvariantNameFromConnectionType (文字列 connectionType) で Microsoft.DataTransformationServices.Design.PipelineUtils.GetActiveConnection (ConnectionManager connectionManager、IServiceProvider serviceProvider) で Microsoft.DataTransformationServices. Design.ComboBoxWithTables.FillTableOrViewComboBox()

===================================

呼び出しのターゲットによって例外がスローされました。(mscorlib)

------------------------------ プログラムの場所:

System.RuntimeFieldHandle.GetValue (オブジェクト インスタンス、RuntimeTypeHandle fieldType、RuntimeTypeHandle declaringType、Boolean& domainInitialized) で System.Reflection.RtFieldInfo.InternalGetValue (オブジェクト obj、ブール doVisibilityCheck、ブール doCheckConsistency) で System.Reflection.RtFieldInfo.GetValue (オブジェクト obj) でSystem.Data.Common.DbProviderFactories.GetFactory(DataRow providerRow) の System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) の Microsoft.DataTransformationServices.Design.ConnectionManagerUtils.GetConnectionTypeFromInvariantName(String providerInvariantName)

===================================

「Oracle.DataAccess.Client.OracleClientFactory」の型初期化子が例外をスローしました。

===================================

Der Provider ist mit der Version des Oracle-Clients nicht kompatibel (Oracle Data Provider for .NET)

------------------------------ プログラムの場所:

Oracle.DataAccess.Client.OracleInit.Initialize() で Oracle.DataAccess.Client.OracleClientFactory..cctor() で

Oracle Data Provider for .NETエラー出力に問題が表示され、informix ドライバーを使用していて、目的地も informix であるため、これはかなり奇妙です。

Windows 7 64 ビット、Visual Studio 2008、Informix 7.31C4 を使用しています。

何らかの理由で、パッケージは oracle ドライバーを使用します。

助言がありますか?

-

informix ドライバーをバージョン 3.5 に更新し、新しい ODBC 接続を作成しました。その後もエラーは同じままです。これはかなり奇妙です。

4

1 に答える 1

0

適切なビットレベル ドライバを使用していることを確認してください。呼び出し元のアプリが 64 ビットの場合は 64 ビット ドライバーを使用する必要があり、32 ビットの場合は 32 ビット ドライバーを使用する必要があります。私の疑いでは、32 ビットのドライバーと 64 ビットのアプリがあるため、同じビットレベルではないため、ドライバーが見つからないのはなぜですか。64 ビット ドライバーをインストールするか、アプリを 32 ビット実行可能ファイルとして再コンパイルします。

于 2013-07-10T16:04:39.147 に答える