连DB2数据库时候遇到的问题.

Nirvana0 2003-06-04 10:33:53
代码:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%
Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance();
String url="dbc:db2://localhost:5000/TEST";
String user="db2admin";
String password="111111";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql="select * from loanapp";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%
}
%>
<%
out.print("数据库操作成功...");
%>
<%
rs.close();
stmt.close();
conn.close();
%>
</body>
</html>


运行时的错误信息:
[03-6-2 11:51:45:706 CST] 38fdc9a0 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.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:114)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:187)
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)

...全文
91 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
leonzhao 2003-06-06
  • 打赏
  • 举报
回复
唉……

DB2 JDBC Type 4的默认监听端口是6789,因此URL因该是:dbc:db2://localhost:6789/TEST

确保“DB2 JDBC 小应用程序服务器”启动。


to all:
这和JDBC版本无关,DB2实例服务才会监听50000

BTW:
JDBC的话你可以使用db2jstrt 6789这样的命令手工启动JDBC服务,也可以手工制定端口
wwwhe 2003-06-06
  • 打赏
  • 举报
回复
String url="dbc:db2://localhost:5000/TEST";
以dbc开始的connection url?应该是以jdbc开始。
一般DB2的Type 4 Driver监听端口是50000,这要看你的配置了。另外还要保证DB2服务器启动了Type 4服务。
Nirvana0 2003-06-05
  • 打赏
  • 举报
回复
up
yellowZF 2003-06-04
  • 打赏
  • 举报
回复
是驱动的问题啊,你要先启动webserver,后启动dbserver

联结字符串是没什么问题了....
Nirvana0 2003-06-04
  • 打赏
  • 举报
回复
按照上面的步骤做了,还是走不下去,错误信息:
[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)
dongdongshu 2003-06-04
  • 打赏
  • 举报
回复
我以前用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!!

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧