informix数据库(gbase版本)访问:ADO及ODBC

环境部署:(Win7 及 WinServer2008 测试通过)

1.安装informix  client sdk: clientsdk.4.10.FC4DE.WIN版本


2.ADO方式:

添加注册表:SqlHosts->gbaseserver(如果不行还需要添加项:服务器IP)->添加键:HOST PROTOCOL SERVICE

程序实现,添加引用:clinet sdk 的bin目录下IBM.DATA.INFORMIX

代码:

//informix gbase
using IBM.Data.Informix;
using IBM.Data.Utilities;<span style="font-family: Arial, Helvetica, sans-serif;">        </span><span style="font-family: Arial, Helvetica, sans-serif;">	</span>

            const string HOST = "xx.xxx.xx.5";//IP地址
            const string SERVICENUM = "xxx"; //端口
            const string SERVER = "gbaseserver";//gbase版本
            const string DATABASE = "xxx";//数据库
            const string USER = "";
            const string PASSWORD = "";
            const string DB_LOCALE = "zh_cn.GB18030-2000";
            const string CLIENT_LOCALE = "zh_cn.GB18030-2000";
            const string NEWCODESET = "GB18030,GB18030-2000,5488";


            string ConnectionString = "Host = " + HOST + "; " +
                "Service=" + SERVICENUM + "; " +
                "Server=" + SERVER + "; " +
                "Database=" + DATABASE + "; " +
                "User Id=" + USER + "; " +
                "Password=" + PASSWORD + "; " +
               // "Password=" + PASSWORD + "; ";
                //"NEWCODESET=" + NEWCODESET + "; " +
                "DB_LOCALE=" + DB_LOCALE + "; " +
                "CLIENT_LOCALE=" + CLIENT_LOCALE + "; ";


            IfxDataReader rd;
            int i = 0;
            Boolean testStatus = true;

            try
            {
                using (IfxConnection conn = new IfxConnection(ConnectionString))
                 {
                      conn.Open();

                      using (IfxCommand cmd = conn.CreateCommand())
                      {
                          cmd.CommandText = "select count(*) from informix.t01_ssc";

                          rd = cmd.ExecuteReader();
                          rd.Read();
                          
                          do
                          {
                               if (rd.HasRows)
                               {
				            //Assuming the table has two columns
                                    //Console.WriteLine("{0}: {1}", rd[0], rd[1]);
                               }

                          } while (rd.Read());

                      }
                      conn.Close();
                  }
              }
              catch (IfxException exc)
              {
                   Console.WriteLine("Update: {0}", exc.Message);
                   foreach (IfxError error in exc.Errors)
                       Console.WriteLine("Error: ({1}): {0}", error.Message, 
                       error.NativeError);

                   testStatus = false;
              }

3.ODBC方式

配置系统DSN,并测试连接通过。

代码:

            try
            {
                OdbcConnection conn = new OdbcConnection();
                conn.ConnectionString = @"Dsn=gbasetest;
            Driver={INFORMIX 3.70 64 BIT};Host=10.185.35.5;Server=gbaseserver;Service=9088;
            Protocol=onsoctcp;Database=fdmprddb;Uid=fdmwvidp;Pwd=fdmwvidp";
                conn.Open();

                OdbcDataAdapter adapter = new OdbcDataAdapter(sql, conn);
                DataSet ds = new DataSet();
                adapter.Fill(ds, "data");
                
                conn.Close();
                if (ds.Tables.Count > 0) return ds.Tables[0];
                return null;
  
            }
            catch (Exception ex)
            {
                return null;
                //MessageBox.Show("连接失败" + ex.Message);
            }
        }



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值