我用JAVA写了一个很小的应用程序,测试数据库的连接,用的是JDBC-ODBC桥,数据源是students,一个表info,3个字段,数据库是ACCESS 代码如下
import java.sql.*;
public class conn{
           public static void main(String[] args){
                try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(Exception e){out.print("类找不到");}
try{
Connection conn = DriverManager.getConnection("jdbc:odbc:students");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from info");
while(rs.next()){
out.print("编号:"+rs.getString(1));
out.print("性别:"+rs.getString(2));
out.print("分数:"+rs.getFloat(3));
out.println("");
}
rs.close();
stmt.close();
conn.close();
}catch(Exception e){out.print("SQL 异常");}
           }
}这个程序在运行正常,不抛出异常
可我把其中的那段复制到JSP里,就抛出异常,就是抛出我定义的“SQL异常”,我的JSP的配置都没有问题,这是为什么呢,谁能帮我啊,附:JSP代码:
<%@ page contentType="text/html; charset=GB2312" language="java" errorPage="" %>
<%@ page  import="java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><body>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(Exception e){out.print("类找不到");}
try{
Connection conn = DriverManager.getConnection("jdbc:odbc:students");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from info");
while(rs.next()){
out.print("编号:"+rs.getString(1));
out.print("性别:"+rs.getString(2));
out.print("分数:"+rs.getFloat(3));
out.println("");
}
rs.close();
stmt.close();
conn.close();
}catch(Exception e){out.print("SQL 异常");}%>
</body>
</html>

解决方案 »

  1.   

    java程序里的out.print 为System.out.print,不好意思啊
      

  2.   

    SQL 异常[Microsoft][ODBC SQL Server Driver][SQL Server]用户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相关联。你连数据库的时候,用户名和密码在哪里呀???没写用户名和密码,没法连接,当然抛异常了。
    你输出异常的时候out.print(e.getMessage());这样多好啊!!什么错误一下就看出来了!!
      

  3.   

    连接的时候需要加入密码和用户信息.DriverManager.getConnection(connName, dbUser, dbPwd);