【问题标题】:Issue with DB Connectivity via SpotFire on a 64 bit machine在 64 位机器上通过 SpotFire 的数据库连接问题
【发布时间】:2011-01-06 12:18:55
【问题描述】:

我正在尝试建立与 ORACLE 10g 数据库的数据库连接。我在下面粘贴了错误信息。我正在寻找有关该问题的一些信息。

系统配置:

  • 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()

【问题讨论】:

    标签: .net reporting spotfire


    【解决方案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 客户端驱动程序,或者
    • 客户端驱动程序实际上已损坏。

    【讨论】:

      【解决方案2】:

      似乎有一种方法可以强制 Spotfire 在 32 位模式下运行,https://tibbr.tibcommunity.com/tibbr/#!/messages/66091,但我不知道怎么做。 有谁知道如何强制 Spotfire 在 32 位模式下运行?

      【讨论】:

        猜你喜欢
        • 2012-02-23
        • 1970-01-01
        • 1970-01-01
        • 2017-11-30
        • 2017-03-19
        • 1970-01-01
        • 2015-03-06
        • 2010-10-02
        • 1970-01-01
        相关资源
        最近更新 更多