wangwengwu 发表于 2016-11-18 09:22:28

搜索.net连接db2与as400的方式

  使用ODBC或者是OLEDB data provider都可以与db2或者as400交互,但相应速度影响了程序的执行效率。
  在阅读.net资料时知道了,采用DBMS产商提供的.net data provider可以提高.net访问其数据库的速度。
  对于db2来说,采用OLEDB 方式,代码如下:

代码

OleDbConnection dbConn = new OleDbConnection();
dbConn.ConnectionString = "Provider=IBMDADB2;Database=XXX;Hostname=XXX.XXX.XXX.XXX;Protocol=TCPIP; Port=XXXX;Uid=XXX;Pwd=XXX;";
if (dbConn.State != System.Data.ConnectionState.Open)
      dbConn.Open();
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter("select * from TABLEXXX;", dbConn);
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
DateTime et = DateTime.Now;
TimeSpan span = et - bt;
Response.Write("执行使用" + span.Seconds + "秒时间");  采用db2方式代码如下:

代码

      DB2Connection dbConn = new DB2Connection();
      dbConn.ConnectionString = "Server=XXX.XXX.XXX.XXX:XXX;Database=XXXX;UID=XXX;PWD=XXX;";
      if (dbConn.State != System.Data.ConnectionState.Open)
            dbConn.Open();
      DataSet ds = new DataSet();
      DB2DataAdapter da = new DB2DataAdapter("select * from TABLEXXX;", dbConn);
      da.Fill(ds);
      GridView1.DataSource = ds;
      GridView1.DataBind();
      DateTime et = DateTime.Now;
      TimeSpan span = et - bt;
      Response.Write("执行使用"+span.Seconds+"秒时间");  两种方式同时读取同一张小数据量的数据表,第一次执行时都会花费较长一段时间,oledb会花费36秒,db2db会花费32秒时间。这4秒钟的价值在小数据量查询中可能没有能够体现多少。但如果有较大的数据量的时候,应该会有更大的差别。
  对于as/400而言,i系列的db2,提供的数据库连接串会有所不同。对于.net framework的支持,windows Client Access 5.3以下只提供OLEDB的连接方式,而iDb2Db的连接方式只有在5.3以上。对于.net framework2.0的支持,却要有windows Client Access6.1以上。因为各种条件限制,这边暂时没有时间完成这部分的测试。
  随便,as/400的windows Client Access是与400小型机绑定出售的,所以一般网络上找不到公司已购买的以外的版本,ibm官网上提供的是SP包,下载安装是可以,但好像用处不大。
页: [1]
查看完整版本: 搜索.net连接db2与as400的方式