先参考Database connect string的网站,这里会介绍一些连接数据库的语句。

  有关ODBC配置及官网的介绍可参考博客。

  DB2相关的下载可参考 IBM DB2下载及相关资料

  IBM ODBC X86版本下载链接https://www-945.ibm.com/support/fixcentral/swg/selectFixes?parent=ibm%2FInformation%2BManagement&product=ibm/Information+Management/IBM+Data+Server+Client+Packages&release=10.5.*&platform=Windows+32-bit,+x86&function=fixId&fixids=*odbc_cli*&includeSupersedes=0

  如何安装和配置ODBC参考https://blog.csdn.net/jaycee_ma/article/details/76153238

              https://www.cnblogs.com/lezhou2014/p/4961899.html

  db2 程序连接字符串

    1)使用IBM OLE DB Provider for db2

         Provider=IBMDADB2.DB2COPY1;Password=1;Persist Security Info=True;User ID=db2admin;Data Source=SAMPLE;Location=SHARK-LABTOP:50000

    2) 使用IBM.DB2.Data.dll 基于.NET FRAMEWORK 2.0

         Password=1;User ID=db2admin;Database=SAMPLE;Server=SHARK-LABTOP:50000或者PWD=1;UID=db2admin;Database=SAMPLE;Server=SHARK-LABTOP:50000

在网上看到的写成如:  Dim strConnectionString As String
             strConnectionString = “Provider=IBMDADB2; DSN=Test;server=xx.xx.xx.xx; User ID=db2admin;Password=db2password”

   OleDbConnection (.NET) 微软公司提供的驱动

//TCP/IP
Provider=DB2OLEDB;Network Transport Library=TCPIP;Network Address=XXX.XXX.XXX.XXX;Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=myUsername;Password=myPassword; 
//APPC
Provider=DB2OLEDB;APPC Local LU Alias=MyAlias;APPC Remote LU Alias=MyRemote;Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=myUsername;Password=myPassword;

  IBM提供的OLE DB适配器 OLE DB 

//TCP/IP
Provider=IBMDADB2;Database=myDataBase;Hostname=myServerAddress;Protocol=TCPIP;Port=50000; Uid=myUsername;Pwd=myPassword;

  ODBC链接

//标准
Driver={IBM DB2 ODBC DRIVER};Database=myDataBase;Hostname=myServerAddress;Port=1234;Protocol=TCPIP;Uid=myUsername;Pwd=myPassword;

一、 C#教程之C#连接db2数据库的实现方法

  通过OLE DB for DB2驱动

 1 string strSql = @"select phone_no from no_store where id<5";
 2             string strConn = "Provider=IBMDADB2;Data Source=数据库名;UID=用户名;PWD=密码;";
 3             using (OleDbConnection conn = new OleDbConnection(strConn))
 4             {
 5                 OleDbCommand cmd = new OleDbCommand(strSql, conn);
 6                 try
 7                 {
 8                     conn.Open();
 9                     OleDbDataAdapter adp = new OleDbDataAdapter(cmd);
10                     DataSet ds = new DataSet();
11                     adp.Fill(ds);
12                     DataTable dt = ds.Tables[0];
13                     if (dt != null)
14                     {
15                         for (int i = 0; i < dt.Rows.Count; i++)
16                         {
17                             Console.WriteLine("电话" + i + ":" + dt.Rows[i][0].ToString());
18                         }
19                     }
20                 }
21                 catch (Exception ex)
22                 {
23                     Console.WriteLine(ex.Message);
24                 }
25             }
26             Console.Read();

通过IBM提供的IBM.data.DB2.DLL

 1 string strSql = @"select phone_no from no_store where id<5";
 2             string strConn = "Database=数据库名;UID=用户名;PWD=密码;";
 3             using (DB2Connection conn = new DB2Connection(strConn))
 4             {
 5                 DB2Command cmd = new DB2Command(strSql, conn);
 6                 try
 7                 {
 8                     conn.Open();
 9                     DB2DataAdapter adp = new DB2DataAdapter(cmd);
10                     DataSet ds = new DataSet();
11                     adp.Fill(ds);
12                     DataTable dt = ds.Tables[0];
13                     if (dt != null)
14                     {
15                         for (int i = 0; i < dt.Rows.Count; i++)
16                         {
17                             Console.WriteLine("电话" + i + ":" + dt.Rows[i][0].ToString());
18                         }
19                     }
20                 }
21                 catch (Exception ex)
22                 {
23                     Console.WriteLine(ex.Message);
24                 }
25             }
26             Console.Read();

小结
(1)两种方式的数据库操作对象可以参考c#连接sqlserver的数据库对象。
(2)如果db2数据库在远程服务器,连接字符串中的数据库名、用户名、密码为db2编目到本地的数据库名、用户名、密码。
(3)使用IBM.Data.DB2,必须引用该程序集。

 

二、VB链接DB2

  VB编程技术网站

1.Select 语句的注意事项  

  1)如果数据库为db2,则你所要查找的表前面要加上这个建表的用户名,
      如,testTable这张表,我是通过系统登陆的帐号所建,为lixc.testTable;
      我所使用查询的用户为admin,如果你只是写select * from testTable ,则
      db2只是默认的查找admin.testTable,这张表不存在,所以应该写为:
      select * from lixc.testTable
      2)如果你连接数据库的url和driverName都是通过设置文件*.properties来读取的
      话,则要注意: 如driverManager:com.ibm.db2.jcc.DB2Driver,如果其后面更有
      空格的话,可能在java运行的时候会出现,com/ibm/db2/jcc/DB2Driver这个class文件
      未找到的错误。我原来遇见这个情况,如果直接在Class.forName(“driverName”).newInstance();
      测试成功,可是读取设置文件Class.forName(driverStr).newInstance();则是报以上错误。
      后来将设置文件中后面的空格去掉,程式运行成功。
  

2. db2的jdbc连接用法:

  1). 将 db2jcc.jar 和 db2jcc_license_cu.jar 设置在环境变量classpath下。
     2). 将 db2jcc.jar 和 db2jcc_license_cu.jar复制在你所用的应用服务器中工程下的WEB-INF/lib包下
  3). JDBC URL :jdbc:db2://tdurden:50000/SAMPLE
 ( where tdurden is the machine the DB2 database server resides on and where SAMPLE is the database instance – 50000 is the default DB2 port to connect to )
  4).  Driver Class field: com.ibm.db2.jcc.DB2Driver
  5). Add a valid username and password in the username and password fields.

3.vb操作db2存储过程

 

 

    Dim db2Conn As New DB2Conn()
        db2Conn.cmd = db2Conn.con.CreateCommand()
        db2Conn.cmd.CommandType = System.Data.CommandType.StoredProcedure
        db2Conn.cmd.CommandText = "{ CALL DB2ADMIN.GENERATE_SPLITDATA_BY_PRECINCT(?) }"
        Dim p1 As Odbc.OdbcParameter = db2Conn.cmd.CreateParameter()
        p1.OdbcType = Odbc.OdbcType.Date
        p1.Value = "2010-07-21"
        db2Conn.cmd.Parameters.Add(p1)
        db2Conn.cmd.ExecuteNonQuery()

 

 

 

版权声明:本文为depend-wind原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/depend-wind/articles/11223966.html