首先检查你的user数据源是否配正确
试试:
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //设置数据库连接字符串
strCon = "jdbc:odbc:user";
sqlCon =DriverManager.getConnection(strCon , "webadmin", "lfc04hyypia");
sqlStmt =sqlCon .createStatement();
}
catch (ClassNotFoundException e) {
System.err.println("Connection: driver unavailable");
sqlCon = null;
}
catch (SQLException e) {
System.err.println("Connection: driver not loaded");
sqlCon = null;
}看看是什么异常
试试:
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //设置数据库连接字符串
strCon = "jdbc:odbc:user";
sqlCon =DriverManager.getConnection(strCon , "webadmin", "lfc04hyypia");
sqlStmt =sqlCon .createStatement();
}
catch (ClassNotFoundException e) {
System.err.println("Connection: driver unavailable");
sqlCon = null;
}
catch (SQLException e) {
System.err.println("Connection: driver not loaded");
sqlCon = null;
}看看是什么异常
首先检查你的user数据源是否配正确
试试:
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //设置数据库连接字符串
strCon = "jdbc:odbc:user";
sqlCon =DriverManager.getConnection(strCon , "", "");
sqlStmt =sqlCon .createStatement();
}
catch (ClassNotFoundException e) {
System.err.println("Connection: driver unavailable");
sqlCon = null;
}
catch (SQLException e) {
System.err.println("Connection: driver not loaded");
sqlCon = null;
}看看是什么异常
strSQL = "select * from user";
1。数据库中是否有名字为user的表。
2。如果有user表的话,不知道odbc的数据库名字user和表名user会不会有冲突。
<%@ page contentType="text/html; charset=GBK" %>
<%@ page errorPage="accesstest_error.jsp" %>
<html>
<head>
<title>
jdbctest
</title>
</head>
<body bgcolor="#ffffff">
<h1>
Jdbc 连接到 Access 数据库的例子</h1>
<%
java.sql.Connection sqlCon; //数据库连接对象
java.sql.Statement sqlStmt; //SQL语句对象
java.sql.ResultSet sqlRst; //结果集对象
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //设置数据库连接字符串
strCon = "jdbc:odbc:user";
sqlCon =DriverManager.getConnection(strCon , "", "");
sqlStmt =sqlCon .createStatement();
}
catch (ClassNotFoundException e) {
System.err.println("Connection: driver unavailable");
sqlCon = null;
}
catch (SQLException e) {
System.err.println("Connection: driver not loaded");
sqlCon = null;
}%>
</body>
</html> 出错如下:
org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 12 in the jsp file: /test.jspGenerated servlet error:
[javac] Compiling 1 source fileD:\tomcat\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:61: cannot resolve symbol
symbol : variable DriverManager
location: class org.apache.jsp.test_jsp
sqlCon =DriverManager.getConnection(strCon , "", "");
^An error occurred at line: 12 in the jsp file: /test.jspGenerated servlet error:
D:\tomcat\work\Catalina\localhost\_\org\apache\jsp\test_jsp.java:68: cannot resolve symbol
symbol : class SQLException
location: class org.apache.jsp.test_jsp
catch (SQLException e) {
^
2 errors
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:128)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:418)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:461)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:442)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)不知道什么原因?请高手指点
或者改 DriverManager为 java.sql.DriverManager
试试
按照《想飞的鱼》兄弟的指点,在jsp中加上import="java.sql.*"
或者改 DriverManager为 java.sql.DriverManager
还是出错了!
兄弟,你有没有完整的jsp连接sql2000的代码呢?
jsp连接sql2000,一样可以用odbc.
你在odbc数据源管理器中 建一个系统DSN驱动sql server, 测试成功的话!
一样可以用上面的方法,只需改用户名和密码。
上面你的user这个数据源是否正确.
我不知道是不是我的系统变量配制的错误
如下:classpath=%JAVA_HOME%\lib;%TOMCAT_HOME%\lib JAVA_HOME=D:\j2sdk1.4.2 path=d:\j2sdk1.4.2\bin;.;d:\j2sdk1.4.2\lib\dt.jar;
d:\j2sdk1.4.2\lib\tools.jar TOMCAT_HOME= d:\tomcat
请鱼兄弟指点
TOMCAT_HOME=D:\tomcatclasspath=%JAVA_HOME%\bin;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\jre\lib\rt.jar;%TOMCAT_HOME%\common\lib\servlet.jar我的环境变量,你的classpath看看。
你的错误再看看
如果用Struts的话,可以在容器或Struts中配置数据源
然后写几个小类就可以实现连接数据库
而且安全
testsqlserver.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html> 可参见:http://www.csdn.net/develop/Read_Article.asp?Id=17769
这种问题可以先搜索以前的帖子的
你改改user
.servlet.ServletException: com.microsoft.jdbc.sqlserver.SQLServerDriver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:795)
org.apache.jsp.test_jsp._jspService(test_jsp.java:88)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1365)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1212)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:184)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:110)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:141)
org.apache.jsp.test_jsp._jspService(test_jsp.java:49)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.是什么原因?
2. 是你已安装,则把mssqlserver.jar和其它两个jar文件(同一目录下)
复制到你的当前jsp文件中.
就ok
如下:<%@ page contentType="text/html; charset=GBK" %>
<%@ page errorPage="accesstest_error.jsp" %>
<html>
<head>
<title>
jdbctest
</title>
</head>
<body bgcolor="#ffffff">
<h1>
Jdbc 连接到 sql2000数据库的例子</h1>
<%
java.sql.Connection sqlCon; //数据库连接对象
java.sql.Statement sqlStmt; //SQL语句对象
java.sql.ResultSet sqlRst; //结果集对象
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句
//装载JDBC-ODBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //设置数据库连接字符串
strCon = "jdbc:odbc:ff";
sqlCon = java.sql.DriverManager.getConnection(strCon,"","");
//创建SQL语句对象
sqlStmt = sqlCon.createStatement();
strSQL = "select * from faqs";
out.println(strSQL);
sqlRst = sqlStmt.executeQuery(strSQL);
//打印测试
if( sqlRst != null ){
out.println("一共有"+sqlRst.getRow()+"条记录");
while( sqlRst.next() ){
out.println("你的用户名字是:\t" + sqlRst.getString("subject")+"<br>");
out.println("你的密码是:\t" + sqlRst.getString("answers")+"<br>");
out.println("一共有"+sqlRst.getRow()+"条记录<br>");
}
out.println("一共有"+sqlRst.getRow()+"条记录");
}
sqlRst.close();
sqlCon.close();
%>
</body>
</html>
错误如下:
HTTP Status 404 - /accesstest_error.jsp--------------------------------------------------------------------------------type Status reportmessage /accesstest_error.jspdescription The requested resource (/accesstest_error.jsp) is not available.
--------------------------------------------------------------------------------Apache Tomcat/5.0这是什么原因呢?请教各路高人?
<@page isErrorPage=true >
http://www.cn-java.com/target/download.php?id=1837&downurl=http://www.cn-java.com/download/jdbc/mssqldriver.zip或者http://www.uncj.com/upload/files/ms_jdbc_setup.exeaccesstest_error.jsp中必须设置isErrorPage="true"
<@page isErrorPage="true" >
我把tomcat5重新解压缩问题就解决了!