在 IBM.Data.Informix 2.81.0.0 中找不到 IfxBulkCopy

Posted

技术标签:

【中文标题】在 IBM.Data.Informix 2.81.0.0 中找不到 IfxBulkCopy【英文标题】:can't find IfxBulkCopy in IBM.Data.Informix 2.81.0.0 【发布时间】:2011-11-17 09:53:58 【问题描述】:

问:

我的问题由两部分组成:

1-我想使用下面的类IfxBulkCopy插入大量数据但是dll中没有这个类IBM.Data.Informix 2.81.0.0怎么解决这个问题?

注意:该类存在于IBM.Data.Informix 9.0.0.2 中!但我不能使用这个版本,因为我们使用的是旧版本的informix。 当我使用新版本时,我得到以下异常:

Invalid argument

StackTrace = "   at IBM.Data.Informix.IfxConnection.ReplaceConnectionStringParms(String szValue, IfxConnSettings& connSettings)\r\n   at IBM.Data.Informix.IfxConnection.set_ConnectionString(String value)\r\n   at Common.DBConnectionForInformix..ctor(String ConnectionStr...

我的 .cs:

 public static void InsertAsBulk(DataTable dt)
        


            using (IfxConnection cn = new IfxConnection(ConfigurationManager.ConnectionStrings["aa"].ToString()))
            

                cn.Open();
                using (IfxBulkCopy copy = new IfxBulkCopy(cn))
                
                    copy.ColumnMappings.Add(1, 2);
                    copy.ColumnMappings.Add(2, 3);
                    copy.ColumnMappings.Add(3, 4);
                    copy.ColumnMappings.Add(4, 5);
                    copy.ColumnMappings.Add(5, 6);
                    copy.ColumnMappings.Add(6, 7);

                    copy.DestinationTableName = "schday";
                    copy.WriteToServer(dt);
                
            

        

2-IfxBulkCopy是在插入操作时使用事务概念还是可能导致数据不一致。

【问题讨论】:

你能发布你的连接字符串吗? <add name="aa" connectionString="User Id=xxx;Password=xxx;Host=x;Server=x_tcp;Service=x_tcp;Database=x; Client Locale=ar_ae.1256; Database Locale=ar_ae.8859-6; Protocol=olsoctcp" providerName="IBM.Data.Informix"/> 【参考方案1】:

您的连接字符串很好。您是否安装了多个版本的驱动程序?我在同一台机器上安装 OAT、Informix 驱动程序和 Informix Client SDK 时遇到了同样的问题。 这解决了我的问题: 1.卸载驱动和客户端sdk+windows重启 2. Client SDK 和数据服务器驱动的安装 3.检查系统PATH变量。我加了

C:\Program Files\IBM Informix Client SDK\bin  
C:\Program Files\IBM Informix Client SDK\bin\netf20  

到系统路径。我不确定是什么问题,也许只是改变 PATH 变量(没有卸载)可以解决它。

【讨论】:

以上是关于在 IBM.Data.Informix 2.81.0.0 中找不到 IfxBulkCopy的主要内容,如果未能解决你的问题,请参考以下文章

Informix 查询计划

Informix 内存泄漏

INFORMIXSERVER 与 DBSERVERNAME 或 DBSERVERALIASES 都不匹配

matlab的solve用法

MATLAB实现曲线拟合

sqllab less 2- less 4