C#連接DB2數(shù)據(jù)庫的方法和代碼

字號:

項(xiàng)目中遇到的.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");//創(chuàng)建DB2的數(shù)據(jù)源連接
    //這里是用數(shù)據(jù)源連接的
    //DataSourceName 數(shù)據(jù)源名稱
    //UserName 用戶名
    //pwd 用戶口令
    //OdbcCommand
     SqlConnection conSql = new SqlConnection("Data Source=oadatabase\\userdb2005;Initial Catalog=GongChengGuanLi;Persist Security Info=True;User ID=sqlUserName;Password=SqlPassword");//考試大提示: Sql2005的數(shù)據(jù)庫連接
    DB2Connection.Open();//打開DB2的數(shù)據(jù)源連接
    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 odbcReader= cmdSelect.ExecuteReader();
    if (odbcReader.Read())//Examda提示: 從DB2中讀取數(shù)據(jù)
    {
    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的數(shù)據(jù)源是怎么建立的,安裝IBM DB2 RUN-Time Client。
    然后運(yùn)行“從屬站架構(gòu)輔助程式”來添加數(shù)據(jù)源.(剩下就是下一步了?。?