尝试从informix数据库获取表时出现Oracle错误消息

时间:2012-07-02 14:52:48

标签: sql-server sql-server-2008 ssis database-connection informix

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

  

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

     

无法检索连接管理器的表信息   '测试'。无法为提供程序创建DbProviderFactory类   不变名称'Oracle.DataAccess.Client'。验证此提供程序   在此计算机上正确安装。 (Microsoft Visual Studio)

     

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

     

无法为提供程序不变式创建DbProviderFactory类   名称'Oracle.DataAccess.Client'。验证此提供程序是否   在此计算机上正确安装。   (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)at   Microsoft.DataTransformationServices.Design.ConnectionManagerUtils.GetInvariantNameFromConnectionType(字符串   connectionType)at   Microsoft.DataTransformationServices.Design.PipelineUtils.GetActiveConnection(的ConnectionManager   connectionManager,IServiceProvider serviceProvider)at   Microsoft.DataTransformationServices.Design.ComboBoxWithTables.FillTableOrViewComboBox()

     

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

     

调用目标抛出了异常。 (mscorlib程序)

     

------------------------------计划地点:

     

在System.RuntimeFieldHandle.GetValue(对象实例,   RuntimeTypeHandle fieldType,RuntimeTypeHandle declaringType,Boolean&   domainInitialized)at   System.Reflection.RtFieldInfo.InternalGetValue(Object obj,Boolean   doVisibilityCheck,布尔doCheckConsistency)at   System.Reflection.RtFieldInfo.GetValue(Object obj)at   System.Data.Common.DbProviderFactories.GetFactory(DataRow providerRow)   在System.Data.Common.DbProviderFactories.GetFactory(String   providerInvariantName)at   Microsoft.DataTransformationServices.Design.ConnectionManagerUtils.GetConnectionTypeFromInvariantName(字符串   providerInvariantName)

     

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

     

的类型初始值设定项   'Oracle.DataAccess.Client.OracleClientFactory'抛出异常。

     

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

     

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

     

------------------------------计划地点:

     

at Oracle.DataAccess.Client.OracleInit.Initialize()at   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连接。即便如此,错误也保持不变。这很奇怪。

1 个答案:

答案 0 :(得分:0)

确保使用正确的位级驱动程序。如果调用应用程序是64位,则需要使用64位驱动程序,如果是32位驱动程序,则需要使用32位驱动程序。我怀疑你有一个32位驱动程序和一个64位应用程序,因此它无法找到驱动程序,因为它们不是相同的位级别。安装64位驱动程序,或将应用程序重新编译为32位可执行文件。

相关问题