Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 尝试从informix数据库获取表时出现Oracle错误消息_Sql Server_Sql Server 2008_Ssis_Database Connection_Informix - Fatal编程技术网

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

Sql server 尝试从informix数据库获取表时出现Oracle错误消息,sql-server,sql-server-2008,ssis,database-connection,informix,Sql Server,Sql Server 2008,Ssis,Database Connection,Informix,我创建了新的数据源,以便通过odbc数据提供程序(informix 3.33;32位)访问informix数据库。测试此连接成功,因此我创建了一个新的连接管理器(来自数据源的新连接),用于ADO NET目标任务。当我尝试选择一个目标表时,需要大约10秒的处理才能得到以下错误: =================================== 无法检索连接管理器的表信息 “测试”。无法为提供程序创建DbProviderFactory类 不变名称“Oracle.DataAccess.Clien

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

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

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

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

无法为提供程序创建DbProviderFactory类 名称为“Oracle.DataAccess.Client”。验证此提供程序是否正确 此计算机上已正确安装。 (Microsoft.DataTransformationServices.Design)

------------------------------有关帮助,请单击:

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

在 Microsoft.DataTransformationServices.Design.ConnectionManagerUtils.GetConnectionTypeFromInvariantName(字符串 providerInvariantName)位于 Microsoft.DataTransformationServices.Design.ConnectionManagerUtils.GetInvariantNameFromConnectionType(字符串 连接类型)在 Microsoft.DataTransformationServices.Design.PipelineUtils.GetActiveConnection(ConnectionManager 连接管理器,IServiceProvider服务提供商)位于 Microsoft.DataTransformationServices.Design.ComboBoxWithTables.FillTableOrViewComboBox()

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

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

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

在System.RuntimeFieldHandle.GetValue(对象实例, RuntimeTypeHandle字段类型,RuntimeTypeHandle declaringType,布尔值& 域名(已初始化)位于 System.Reflection.RtFieldInfo.InternalGetValue(对象obj,布尔值 doVisibilityCheck,布尔值doCheckConsistency)位于 System.Reflection.RtFieldInfo.GetValue(对象obj)位于 System.Data.Common.DbProviderFactorys.GetFactory(DataRow providerRow) 位于System.Data.Common.DbProviderFactorys.GetFactory(字符串 providerInvariantName)位于 Microsoft.DataTransformationServices.Design.ConnectionManagerUtils.GetConnectionTypeFromInvariantName(字符串 providerInvariantName)

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

的类型初始值设定项 “Oracle.DataAccess.Client.OracleClientFactory”引发异常

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

Der提供程序是Oracle客户端的mit Der版本 (用于.NET的Oracle数据提供程序)

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

在Oracle.DataAccess.Client.OracleInit.Initialize()中 Oracle.DataAccess.Client.OracleClientFactory..cctor()

这很奇怪,因为错误输出显示了.NET的Oracle数据提供程序的问题,我使用了informix驱动程序&我的目标也是informix

我使用的是64位Windows 7、Visual Studio 2008、Informix 7.31C4

出于某种原因,该软件包使用oracle驱动程序

有什么建议吗

-


我刚刚将informix驱动程序更新为3.5版,并创建了新的ODBC连接。即使在那之后,错误仍然保持不变。这很奇怪。

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

是否使用了错误的DSN?可能您的用户DSN和系统DSN具有相同的名称但配置不同?您使用的是正确的位版本吗?与32位和64位版本一样?@Pondlife我只能找到一个具有此名称的DSN。它是显示在C:\Windows\SysWOW64\odbcad32.exe中的系统DSN。没有具有此名称的32位用户DSN和64位用户或系统DSN。我认为32位驱动程序应该可以正常为我工作,不是吗?