64 ビット マシン上の SpotFire 経由の DB 接続に関する問題
質問
ORACLE 10g DB への DB 接続を確立しようとしています。以下にエラー情報を貼り付けました。この問題に関する情報を探しています。
システム構成:
- Windows XP SP2
- アーチ:AMD 64ビット
- TIBCOE スポットファイア 64 ビット
エラーメッセージ:データソースを開けませんでした。
TargetInvocationException at Spotfire.Dxp.Framework:
Exception has been thrown by the target of an invocation. (HRESULT: 80131604)
Stack Trace:
at Spotfire.Dxp.Framework.ApplicationModel.ProgressService.ExecuteWithProgress(String title, String description, ProgressOperation operation)
at Spotfire.Dxp.Forms.Data.DataFormsUserActions.OpenData(DataSource dataSource, String progressOperationTitle, String progressOperationDescription)
InvalidOperationException at System.Data.OracleClient:
Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed. (HRESULT: 80131509)
Stack Trace:
at System.Data.OracleClient.OCI.DetermineClientVersion()
at System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName)
at System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions)
at System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OracleClient.OracleConnection.Open()
at Spotfire.Dxp.Data.Import.DatabaseDataSource.<>c__DisplayClass4.<GetPromptModels>b__0()
at Spotfire.Dxp.Framework.ApplicationModel.Progress.ExecuteSubtask(String title, ProgressOperation operation)
at Spotfire.Dxp.Data.Import.DatabaseDataSource.<GetPromptModels>d__6.MoveNext()
at Spotfire.Dxp.Data.DataSourceConnection.<GetPromptModels>d__2.MoveNext()
at Spotfire.Dxp.Data.DataSource.Connect(IServiceProvider serviceProvider, DataSourcePromptMode promptMode, Boolean updateInternalState)
at Spotfire.Dxp.Forms.Data.Import.DataSourceFactoryService.OpenDataSource(DataSource dataSource, IServiceProvider serviceProvider)
at Spotfire.Dxp.Forms.Application.FormsProgressService.ProgressThread.DoOperationLoop()
BadImageFormatException at System.Data.OracleClient:
An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
(HRESULT: 8007000B)
Stack Trace:
at System.Data.Common.UnsafeNativeMethods.OCILobCopy2(IntPtr svchp, IntPtr errhp, IntPtr dst_locp, IntPtr src_locp, UInt64 amount, UInt64 dst_offset, UInt64 src_offset)
at System.Data.OracleClient.OCI.DetermineClientVersion()
解決
ここでの重要なエラーは次のとおりです。
BadImageFormatException at System.Data.OracleClient: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B) (HRESULT: 8007000B)
の BadImageFormatException
この問題は、32 ビット DLL を 64 ビット アプリにロードしようとした場合、またはその逆の場合に発生する可能性があります。
音からすると、次のいずれかです。
- 64 ビット Oracle クライアント ドライバーがインストールされていない、または
- 接続文字列が 32 ビット Oracle クライアント ドライバーをロードしようとしています、または
- クライアントドライバーが実際には壊れています。
他のヒント
これは、32ビットモードで実行するようにスポットファイアを強制する方法があるようだ、 HTTPS ://tibbr.tibcommunity.com/tibbr/# /メッセージ/ 66091 のが、私はどのように把握することはできません!。 32ビットモードで実行するようにスポットファイアを強制的にどのように誰もが知っていますか?
所属していません StackOverflow