Class.forName("COM.ibm.db2.jdbc.net.DB2Driver");
String url = "jdbc:db2://server/db";
Connection con = DriverManager.getConnection(url,"use","pass");

解决方案 »

  1.   

    COM.ibm.db2.jdbc.net.DB2Driver这个我也试了不行啊下面是错误
    COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0621E  “JDBC 服务器”配置
    不受支持。
            at COM.ibm.db2.jdbc.net.SQLExceptionGenerator.check_return_code(SQLExcep
    tionGenerator.java:347)
            at COM.ibm.db2.jdbc.net.DB2Connection.SQLConnect(DB2Connection.java:385)        at COM.ibm.db2.jdbc.net.DB2Connection.SQLConnect(DB2Connection.java:307)        at COM.ibm.db2.jdbc.net.DB2Connection.create(DB2Connection.java:292)
            at COM.ibm.db2.jdbc.net.DB2Connection.<init>(DB2Connection.java:213)
            at COM.ibm.db2.jdbc.net.DB2Driver.connect(DB2Driver.java:219)
            at java.sql.DriverManager.getConnection(DriverManager.java:515)
            at java.sql.DriverManager.getConnection(DriverManager.java:174)
            at OpenDB.Connect(OpenDB.java:44)
            at OpenDB.main(OpenDB.java:56)
      

  2.   

    而且
    COM.ibm.db2.jdbc.app.DB2Driver 是给 applications; COM.ibm.db2.jdbc.net.DB2Driver 是给 applets
    我的程序不是applets
      

  3.   

    下面代码能连上SQL Server,DB2应该差不多吧,改个url就行了。
     String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
        String url = "jdbc:microsoft:sqlserver://" + IP地址+ ";databasename=" + 数据库名;    try
        {
          Class.forName(driver);
          Connection conn = DriverManager.getConnection(url, 数据库用户名,用户密码);
        }
        catch(ClassNotFoundException cnfe) {
          throw new ClassNotFoundException("不能找到Microsoft SQL Server数据库的驱动程序 ";
        }
        catch (SQLException sqle)
        {
          System.out.println(sqle);
          throw new SQLException("不能连接到Microsoft SQL Server数据库 ");
        }
      

  4.   

    db2 url:jdbc:db2://hostname:50002/database
    如果在数据库在本机url可以写成:jdbc:db2:database.
    另外确认db2驱动的zip文件包含在classpath中
      

  5.   

    用这个是没有问题的:COM.ibm.db2.jdbc.net.DB2Driver 关键是你远程的DB2服务器没有启动DB2 JDBC Applet Server服务如果你要用COM.ibm.db2.jdbc.app.DB2Driver 好像是需要使用DB2客户端的
      

  6.   

    db2 for nt得端口号是50000
      

  7.   

    to  CitySir(豆豆) 
    你的写法没错但我这一操作就出错就是我上边写的那样
    COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0621E  “JDBC 服务器”配置
    不受支持。to pzl686(阿虎)
    我这已经有db2的驱动了
    对本地数据库操作已经成功to kevin263(kevin)
    强烈关注你说的db2 url:jdbc:db2://hostname:50002/database
    其中的端口号50002是DB2中设置的还是它默认的我按那个号码好象不对啊
    再有上边出的错误是什么意思啊
      

  8.   

    端口号是50002或50000都不对啊
    COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0615E  从套接字接收时出错,
    服务器不响应。SQLSTATE=08S01
      

  9.   

    to  ChDw(米)
    我的DB2服务器已经启动DB2 JDBC Applet Server服务
    但端口号如何设置啊(是不是有固定的)再有下面是什么错误啊
    COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0621E  “JDBC 服务器”配置不受支持。
      

  10.   

    你要在你数据库服务器上启动JDBC服务db2jstrt 端口 (不给是6789)
    远程使用驱动:COM.ibm.db2.jdbc.net.DB2Driver.客户端需要把驱动程序包放在CLASSPATH中一切就可以了
      

  11.   

    这个问题是这样的:jdbc:db2://"+server+":"+port+"/"+databaseName 中的port是要用db2的命令db2jstrt来启动的,比如进到C:\Program Files\SQLLIB\bin,输入命令:
    db2jstrt 11111,然后再执行你的程序就可以了。java实例(提示:参数server可写IP也可写机器名,port必须是db2jstrt启动的端口号;另外我这里使用sample数据库,你只要换成你的数据库名即可):import java.sql.*;public class db2net {   static {
          try {
             Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance();
          } catch (Exception e) {
             e.printStackTrace();
          }
       }
       public static void main(String[] args) {
      Connection con;
          try {
             // get parameter values from the html page
             String server = "9.185.25.113";//getParameter("server");
             String port = "11111";//getParameter("port");         // construct the URL ( sample is the database name )
             String url = "jdbc:db2://"+server+":"+port+"/sample";         String userid = "administrator";//getParameter("userid");
             String password = "123456";//getParameter("password");         // connect to database with userid and password
             con = DriverManager.getConnection(url, userid, password );      
             // retrieve data from database
             System.out.println("First, let's retrieve some data from the database...");         Statement stmt = con.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT * from employee");
             System.out.println("Received results:");         // display the result set
             // rs.next() returns false when there are no more rows
             int i = 0;
             while (rs.next() && (i<2)) {
                i++;
                String a= rs.getString(1);
                String str = rs.getString(2);
                String oneLine = " empno= " + a + " firstname= " + str;
                System.out.println(oneLine);         }
             stmt.close();         // update the database
             System.out.println("Now, update the database...");
             stmt = con.createStatement();
             int rowsUpdated = stmt.executeUpdate("UPDATE employee set firstnme = 'SHILI' where empno = '000010'");         // display the number of rows updated
             String msg = "Updated " + rowsUpdated;         if (1 == rowsUpdated)
                msg = msg +" row.";
             else
                msg = msg +" rows.";
             System.out.println(msg);         stmt.close();
          } catch( Exception e ) {
             e.printStackTrace();
          }
       }
    }
      

  12.   

    端口配置以及服务已经好了。
    我把端口设置到50000,已经不在出现下面错误
    COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0615E  从套接字接收时出错,
    服务器不响应。SQLSTATE=08S01但对数据库操作依然不成功出现下边错误
    COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0621E  “JDBC 服务器”配置不受支持。
      

  13.   

    结帐喽,谢谢大家的帮助。问题解决了,db2的jdbc驱动是有但版本是1.0所以不支持,升级到2.0可以了。放分!!!!!!!!!!!
      

  14.   

    默认端口应该是6789吧,但是我不用填的啊。我正常启动了远程的DB2 JDBC Applet Server就可以了