ITPub博客

首页 > Linux操作系统 > Linux操作系统 > C#连接DB2数据库的方法和代码

C#连接DB2数据库的方法和代码

原创 Linux操作系统 作者:ArtCode 时间:2009-03-31 16:33:12 0 删除 编辑
项目中遇到的。net(C#) 连接DB2问题,解决了,和大家分享一下。

    下面的程序是同不Sql2005中的表与DB2中的表

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Odbc;
using System.Data.SqlClient;
using System.Data;

namespace DB2Import
{
    class Program
    {
        static void Main(string[] args)
        {
            OdbcConnection DB2Connection = new OdbcConnection("Dsn=DataSourceName;uid=UserName;pwd=mismidas");//创建DB2的数据源连接

//这里是用数据源连接的

          //DataSourceName 数据源名称

         //UserName 用户名

         //pwd 用户口令
            //OdbcCommand

            SqlConnection conSql = new SqlConnection("Data Source=oadatabase\\userdb2005;Initial Catalog=GongChengGuanLi;Persist Security Info=True;User ID=sqlUserName;Password=SqlPassword");//Sql2005的数据库连接
            DB2Connection.Open();//打开DB2的数据源连接
            SqlDataAdapter ZDAdapter = new SqlDataAdapter(new SqlCommand("Select * from SCD_GXDY_XGJL", conSql));
            SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(ZDAdapter);
            DataSet ZDDataSet = new DataSet();
            ZDAdapter.Fill(ZDDataSet, "SCD_GXDY_XGJL");
            for (int i = 0; i < ZDDataSet.Tables["SCD_GXDY_XGJL"].Rows.Count; i++)
            {
                Console.WriteLine("importing "+i+" .....");
                DataRow row = ZDDataSet.Tables["SCD_GXDY_XGJL"].Rows[i];
                int KHDM = 0;
                try
                {
                    KHDM = int.Parse("" + row["KHDM"]);
                }
                catch (Exception paresException)
                {
                    KHDM = 0;
                }

                //KHDM
                if ("" + row["KHDM"] != "" && KHDM!=0)
                {
                    OdbcCommand cmdSelect = new OdbcCommand("Select CCUST,CNME,CTYPE,CLOC,CMDPFX from V6tstF.RCM where CCUST=" +KHDM+ "", DB2Connection);
                   OdbcDataReader dbcReader= cmdSelect.ExecuteReader();
                   if (odbcReader.Read())//从DB2中读取数据
                   {
                       row["CNME"] = ""+odbcReader["CNME"];
                       row["CTYPE"] = "" + odbcReader["CTYPE"];
                       row["CLOC"] = "" + odbcReader["CLOC"];
                       row["CMDPFX"] = "" + odbcReader["CMDPFX"];
                   }
                   odbcReader.Close();
                }


            }
            Console.WriteLine("Updating ....");
            ZDAdapter.Update(ZDDataSet, "SCD_GXDY_XGJL");
            Console.WriteLine("Commplete!");
            Console.WriteLine("Press any Key to Exit!");
            Console.Read();

        }
    }
}

    但可能有朋友要问了,DB2的数据源是怎么建立的,安装IBM DB2 RUN-Time Client.

    然后运行“從屬站架構輔助程式”来添加数据源。(剩下就是下一步了啊)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15082138/viewspace-582447/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-05

  • 博文量
    269
  • 访问量
    559921