2011-01-06 89 views
1

我正在尝试建立与Oracle 10g数据库的数据库连接。我已经粘贴了下面的错误信息。我正在寻找关于这个问题的一些信息。在64位机器上通过SpotFire进行的数据库连接问题

系统配置:

  • 的Windows XP SP2
  • ARCH:AMD 64位
  • TIBCOE的Spotfire 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() 

回答

1

这里的关键错误是:

BadImageFormatException at System.Data.OracleClient: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B) (HRESULT: 8007000B)

,如果你想一个32位的DLL加载到64位应用程序,反之亦然BadImageFormatException可能发生。

从它的声音,或者:

  • 您没有安装64位的Oracle客户端驱动程序,或
  • 的连接字符串试图加载32位的Oracle客户端驱动程序,或
  • 客户端驱动程序实际上已损坏。
相关问题