1

我创建了新的数据源以通过 odbc 数据提供程序(informix 3.33;32 位)访问 informix 数据库。测试此连接成功,因此我创建了一个新的连接管理器(来自数据源的新连接)以将其用于我的 ADO NET 目标任务。当我尝试选择目标表时,大约需要 10 秒的处理时间才能得到以下错误:

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

无法检索连接管理器“测试”的表信息。无法为提供程序不变名称“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.PipelineUtils.GetActiveConnection(ConnectionManager connectionManager, IServiceProvider serviceProvider) 的 Microsoft.DataTransformationServices.Design.ConnectionManagerUtils.GetInvariantNameFromConnectionType(String connectionType) 的 Microsoft.DataTransformationServices.Design.ConnectionManagerUtils.GetConnectionTypeFromInvariantName(String providerInvariantName)。 Design.ComboBoxWithTables.FillTableOrViewComboBox()

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

调用的目标已引发异常。(mscorlib)

------------------------------ 节目地点:

在 System.Reflection.RtFieldInfo.InternalGetValue(Object obj, Boolean doVisibilityCheck, Boolean doCheckConsistency) 在 System.Reflection.RtFieldInfo.GetValue(Object obj) 在 System.RuntimeFieldHandle.GetValue(Object instance, RuntimeTypeHandle fieldType, RuntimeTypeHandle declaringType, Boolean & domainInitialized) 在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 回答