我创建了新的数据源,通过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连接。即便如此,错误也保持不变。这很奇怪。
答案 0 :(得分:0)
确保使用正确的位级驱动程序。如果调用应用程序是64位,则需要使用64位驱动程序,如果是32位驱动程序,则需要使用32位驱动程序。我怀疑你有一个32位驱动程序和一个64位应用程序,因此它无法找到驱动程序,因为它们不是相同的位级别。安装64位驱动程序,或将应用程序重新编译为32位可执行文件。