C#连接DB2数据库的方法和代码
项目中遇到的.net(C#)连接DB2问题,解决了,和大家分享一下.
下面的程序是同不SqlXXXX中的表与DB2中的表
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Data.Odbc;
usingSystem.Data.SqlClient;
usingSystem.Data;
namespaceDB2Import
{
classProgram
{
staticvoidMain(string[]args)
{
OdbcConnectionDB2Connection=newOdbcConnection("Dsn=DataSourceName ;uid=UserName;pwd=mismidas");//创建DB2的数据源连接
//这里是用数据源连接的
//DataSourceName数据源名称
//UserName用户名
//pwd用户口令
//OdbcCommand
SqlConnectionconSql=newSqlConnection("DataSource=oadatabase\userd bXXXX;InitialCatalog=GongChengGuanLi;PersistSecurityInfo=True;UserID= sqlUserName;Password=SqlPassword");//考试大提示:SqlXXXX的数据库连接DB2Connection.Open();//打开DB2的数据源连接
SqlDataAdapterZDAdapter=newSqlDataAdapter(newSqlCommand("Select*f romSCD_GXDY_XGJL",conSql));
SqlCommandBuildermyCommandBuilder=newSqlCommandBuilder(ZDAdapter) ;
DataSetZDDataSet=newDataSet();
ZDAdapter.Fill(ZDDataSet,"SCD_GXDY_XGJL");
for(inti=0;i Console.WriteLine("importing"+i+"....."); DataRowrow=ZDDataSet.Tables["SCD_GXDY_XGJL"].Rows[i]; intKHDM=0; try { KHDM=int.Parse(""+row["KHDM"]); } catch(ExceptionparesException) { KHDM=0; } //KHDM if(""+row["KHDM"]!=""&&KHDM!=0) { OdbcCommandcmdSelect=newOdbcCommand("SelectCCUST,CNME,CTYPE,CLOC, CMDPFXfromV6tstF.RCMwhereCCUST="+KHDM+"",DB2Connection); OdbcDataReaderodbcReader=cmdSelect.ExecuteReader(); if(odbcReader.Read())//Examda提示:从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("PressanyKeytoExit!"); Console.Read(); } } } 但可能有朋友要问了,DB2的数据源是怎么建立的,安装IBMDB2RUN-TimeClient。 然后运行“???僬炯????o助程式”来添加数据源.(剩下就是下一步了啊)