环境:JDK +TOMCAT +SQL 2008 想用ODBC联接。<!--jspodbc.jsp-->
<%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%>
<html>
<head>
<title>访问SQL Server数据库</title>
</head>
<body>
<h2 align="center">访问 SQL Server 数据库</h2>
<hr><%
//下面程序段用于连接到数据库
//加载类sun.jdbc.odbc.jdbcOdbcDriver,并通过newInstance()方法实例化
Class.forName("sun.jdbc.odbc.jdbcOdbcDriver").newInstance();
out.println("数据库驱动注册成功!<br>");
//设置url为ODBC中的jspdb String url="jdbc:odbc:jspdb";
String user="";
String password="";
//建立与数据库的连接,将连接赋值给conn
Connection conn=DriverManager.getConnection(url,user,password);
out.println("数据库连接成功!<br><hr>");
//通过Connection类的createStatement()方法创建 Statement实例,
//并赋值 stmt,以方便操作数据库
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
//创建SQL查询字符串,以选择数据表trade中的记录
String sql="select *from trade";
//通过Statement类的executeQuery()方法创建ResultSet对象RS,方便对数据表的操作
ResultSet rs=stmt.executeQuery(sql);
//移动到数据表的第一条记录
rs.first();
//下面的语句将显示记录中各字段的内容
%>
id:<%=rs.getObject("id")%><br>
商品名称:<%=rs.getObject("tradename")%><br>
供应商:<%=rs.getObject("provider")%><br>
类别:<%=rs.getObject("class")%><br>
单价:<%=rs.getObject("price")%><br>
数据:<%=rs.getObject("num")%><br>
<hr>
数据库访问成功!<br>
<%
rs.close();//关闭RS
stmt.close(); //关闭stmt
conn.close(); //关闭conn
%>
数据库已关闭!
</body>
</html>
可是为什么老出错呢?
<%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%>
<html>
<head>
<title>访问SQL Server数据库</title>
</head>
<body>
<h2 align="center">访问 SQL Server 数据库</h2>
<hr><%
//下面程序段用于连接到数据库
//加载类sun.jdbc.odbc.jdbcOdbcDriver,并通过newInstance()方法实例化
Class.forName("sun.jdbc.odbc.jdbcOdbcDriver").newInstance();
out.println("数据库驱动注册成功!<br>");
//设置url为ODBC中的jspdb String url="jdbc:odbc:jspdb";
String user="";
String password="";
//建立与数据库的连接,将连接赋值给conn
Connection conn=DriverManager.getConnection(url,user,password);
out.println("数据库连接成功!<br><hr>");
//通过Connection类的createStatement()方法创建 Statement实例,
//并赋值 stmt,以方便操作数据库
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
//创建SQL查询字符串,以选择数据表trade中的记录
String sql="select *from trade";
//通过Statement类的executeQuery()方法创建ResultSet对象RS,方便对数据表的操作
ResultSet rs=stmt.executeQuery(sql);
//移动到数据表的第一条记录
rs.first();
//下面的语句将显示记录中各字段的内容
%>
id:<%=rs.getObject("id")%><br>
商品名称:<%=rs.getObject("tradename")%><br>
供应商:<%=rs.getObject("provider")%><br>
类别:<%=rs.getObject("class")%><br>
单价:<%=rs.getObject("price")%><br>
数据:<%=rs.getObject("num")%><br>
<hr>
数据库访问成功!<br>
<%
rs.close();//关闭RS
stmt.close(); //关闭stmt
conn.close(); //关闭conn
%>
数据库已关闭!
</body>
</html>
可是为什么老出错呢?
解决方案 »
- 求ibatis in action中文版下载地址
- 急 内存溢出 这个异常难得没有更好的解决方法了吗?
- 关于velocity的使用,环境变量配置上有问题请教!
- tomcat连接池出错,烦死了,怎么这么难配置呀?(急)
- Document对象如何转成InputStream
- 请问一下,我现在写了一个JSP系统,我想本机做服务器,但我不知道要下载哪些东西安装,帮帮忙谢谢呵呵!
- GOOGLE MAPS API
- 有关Servlet的问题
- 几个简单的关于网页中的简单问题
- servlet中forward使用 急!!!在线等
- 在线等 struts+spring+mybatis出现异常(java.lang.ClassNotFoundException: Entity)为提示位置
- java如何获取两年后的今天的日期
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:532)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:366)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
org.apache.jasper.servlet.JspServletWrapper.destroy(JspServletWrapper.java:436)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:139)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.
java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
从异常看是转换异常
servlet-api.jar包和TOMCAT 自带的里面的包有冲突了吧
是这句: Class.forName("sun.jdbc.odbc.jdbcOdbcDriver").newInstance();
中jdbcOdbcDriver 中没有大写的原因。这个是最新的错误提示。忘记各位高手帮忙看看,谢谢!org.apache.jasper.JasperException: An exception occurred processing JSP page /jspodbc.jsp at line 2421: String user="";
22: String password="";
23: //建立与数据库的连接,将连接赋值给conn
24: Connection conn=DriverManager.getConnection(url,user,password);
25: out.println("数据库连接成功!<br><hr>");
26: //通过Connection类的createStatement()方法创建 Statement实例,
27: //并赋值 stmt,以方便操作数据库
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:515)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:408)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause javax.servlet.ServletException: java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:855)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:784)
org.apache.jsp.jspodbc_jsp._jspService(jspodbc_jsp.java:127)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
java.sql.DriverManager.getConnection(Unknown Source)
org.apache.jsp.jspodbc_jsp._jspService(jspodbc_jsp.java:77)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)