怎么我老是连接不上数据库啊!急!
源文件:
<%@page language="java" import="java.sql.*"%>
<%@page import="java.text.*"%>
<%@page import="java.util.*"%>
<%@page import="java.io.*"%>
<html>
<head>
<title>DateBase Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<% Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=null;
con=DriverManager.getConnection("jdbc:odbc:address","","");
Statement stmt=con.createStatement();
ResultSet rs;
rs=stmt.executeQuery("select * from address");
%>
<%=rs.getString("name")%>
</body>
</html>
运行结果:
Error: 500
Location: /db.jsp
Internal Servlet Error:
javax.servlet.ServletException: [Microsoft][ODBC ???? ???] ???????
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:455)
at db_1._jspService(db_1.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:500)
at org.apache.tomcat.core.Handler.service(Handler.java:223)
at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:448)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:911)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:824)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:152)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:438)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:505)
at java.lang.Thread.run(Thread.java:484)
Root cause:
java.sql.SQLException: [Microsoft][ODBC ???? ???] ???????
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6031)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:6188)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3266)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5377)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:320)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:376)
at db_1._jspService(db_1.java:80)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:500)
at org.apache.tomcat.core.Handler.service(Handler.java:223)
at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:448)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:911)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:824)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:152)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:438)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:505)
at java.lang.Thread.run(Thread.java:484)
问题点数:50、回复次数:9Top
1 楼tanjiaqi(谈佳祺)回复于 2002-05-30 21:55:10 得分 0
由于是测试
写得简单了一点
可是为什么数据就是不能显示呢?Top
2 楼zijianyi(紫剑伊)回复于 2002-05-30 22:15:04 得分 10
你用的什么数据库?
<%@ page language="java" import="java.sql.*" contentType="text/html;charset=gb2312"%>
<%//@ page errorPage="../err.jsp"%>
<%
java.sql.Connection Conn;
java.sql.Statement Stmt;
java.sql.ResultSet Rst;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Conn=DriverManager.getConnection("jdbc:odbc:数据源","用户名","密码");
Stmt=Conn.createStatement();
%>
Top
3 楼tanjiaqi(谈佳祺)回复于 2002-05-30 22:17:49 得分 0
我用的是access数据库啊Top
4 楼weidegong(weidegong)回复于 2002-05-30 23:31:35 得分 20
<%=rs.getString("name")%>
前边至少加一句:rs.next()吧?
那一堆错误信息关键部分还是乱码,也不知道说什么Top
5 楼zijianyi(紫剑伊)回复于 2002-05-31 00:02:57 得分 0
哦,有道理,他说没有连接上数据库,我就没仔细看代码.........还是兄细心!Top
6 楼javagoo(何方神圣)回复于 2002-05-31 09:42:38 得分 20
代码中少一段代码:rs.next();
<%
rs.next();
%>
<%=rs.getString("name")%>
<%
rs.close();
stmt.close();
con.close();
%>
试试看
Top
7 楼zjgj(重体力劳动者)回复于 2002-05-31 09:54:08 得分 0
我是初学者前几天我也碰到这个问题位大虾帮我解决的,我不知道你是不是与我碰到同样的问题,我出错是因为我在选ODBC时选取了Driver do microsoft Access
就怎样也连不上,后来选了Miscrosoft Access Driver就可以了。我只是想帮忙,可能我太菜。你应该不会犯我这种低级错误吧。Top
8 楼xycleo()虚竹和尚()回复于 2002-05-31 10:03:58 得分 0
估计楼上的说得对Top
9 楼baby_zhx(郁闷)回复于 2002-05-31 10:51:19 得分 0
呵呵,应该是数据源的问题,你在看看控制面板——管理工具——数据源中的DSN的配置,检查一下,(编程就是要细心),或者是你把
<%=rs.getString("name")%>
换成
<%rs.next();
rs.getString(1);
%>
试一下Top




