我以前用DB2时也出现过内似问题,
如果你用的是 Windows ,运行批处理脚本把 DB2 安装切换到遵守 JDBC 2 的驱动程序。批处理脚本的缺省位置是 C:\Program Files\SQLLIB\java12\usejdbc2.bat。确保启动脚本前停止所有 DB2 服务。在 AIX 和 Solaris 系统上,选择 JDBC 2 驱动程序库(缺省位置是 /home/db2inst1/sqllib/java12/db2java.zip)和非 JDBC 1 驱动程序库这样应该就可以搞定!!
GOOD LUCK!!

解决方案 »

  1.   

    按照上面的步骤做了,还是走不下去,错误信息:
    [03-6-4 11:52:15:116 CST] 40a41db9 WebGroup      I SRVE0180I: [BasicWeb] [/BasicWeb] [Servlet.LOG]: /jsp/cust/test.jsp: init
    [03-6-4 11:52:16:297 CST] 40a41db9 WebGroup      E SRVE0026E: [Servlet 错误]-[[IBM][JDBC Driver] CLI0616E  打开套接字时出错。SQLSTATE=08S01]:COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0616E  打开套接字时出错。SQLSTATE=08S01
    at COM.ibm.db2.jdbc.net.SQLExceptionGenerator.socketException(SQLExceptionGenerator.java:589)
    at COM.ibm.db2.jdbc.net.DB2Connection.create(DB2Connection.java:251)
    at COM.ibm.db2.jdbc.net.DB2Connection.<init>(DB2Connection.java:200)
    at COM.ibm.db2.jdbc.net.DB2Driver.connect(DB2Driver.java:215)
    at java.sql.DriverManager.getConnection(DriverManager.java:543)
    at java.sql.DriverManager.getConnection(DriverManager.java:194)
    at org.apache.jsp._test._jspService(_test.java:79)
    at com.ibm.ws.webcontainer.jsp.runtime.HttpJspBase.service(HttpJspBase.java:89)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:344)
    at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.serviceJspFile(JspServlet.java:598)
    at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:696)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
    at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
    at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
    at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
    at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:258)
    at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
    at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:872)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:491)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:173)
    at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79)
    at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:199)
    at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
    at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
    at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:331)
    at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
    at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:432)
    at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:343)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:592)
      

  2.   

    是驱动的问题啊,你要先启动webserver,后启动dbserver联结字符串是没什么问题了....
      

  3.   

    String url="dbc:db2://localhost:5000/TEST"; 
    以dbc开始的connection url?应该是以jdbc开始。
    一般DB2的Type 4 Driver监听端口是50000,这要看你的配置了。另外还要保证DB2服务器启动了Type 4服务。
      

  4.   

    唉……DB2 JDBC Type 4的默认监听端口是6789,因此URL因该是:dbc:db2://localhost:6789/TEST确保“DB2 JDBC 小应用程序服务器”启动。
    to all:
    这和JDBC版本无关,DB2实例服务才会监听50000BTW:
    JDBC的话你可以使用db2jstrt 6789这样的命令手工启动JDBC服务,也可以手工制定端口