注册 登录
编程论坛 J2EE论坛

求助,jsp访问数据库的问题

qishiyexu 发布于 2006-04-05 13:30, 619 次点击
我想通过下面的一个程序访问数据库:
<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*,java.io.*"%>
<html>
<body>
以下是从MS SQL Server数据库读取的数据:<hr>
<table border="1">
<tr><td>id</td><td>书名</td><td>出版社</td><td>价格</td>
</tr>
<%! String trans(String chi)
{
String result=null;
byte temp[];
try
{
temp=chi.getBytes("iso_8859_1");
result=new String(temp);
}
catch(UnsupportedEncodingException e)
{
System.out.println(e.toString());
}
return result;
}
%>
<%

String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String SERVANDDB="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jspdev";
Connection con=null;

try{
Class.forName(CLASSFORNAME);
con=java.sql.DriverManager.getConnection(SERVANDDB,"sa","");
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from book;");

while(rst.next())
{
out.println("<tr>");
out.println("<td>"+trans(rst.getString("BookId"))+"</td>");
out.println("<td>"+trans(rst.getString("BookName"))+"</td>");
out.println("<td>"+trans(rst.getString("Publisher"))+"</td>");
out.println("<td>"+rst.getFloat("Price")+"</td>");
out.println("</tr>");
}
rst.close();
stmt.close();
con.close();
}
catch(Exception e){}
%>
</table>
</body>
</html>
但是不成功,试验得知在con=java.sql.DriverManager.getConnection(SERVANDDB,"sa","");这一句抛出了一个异常,后面的都没执行,服务器是tomcat,jdbc驱动的三个jar文件都复制到common\lib目录下,并设置了环境变量。
请问这是什么原因呢?谢谢!
2 回复
#2
疯子java2006-04-05 16:09

建议将异常信息抛出来
你这里的信息给的很不明确

#3
qishiyexu2006-04-05 18:40

好的,我将那句变成
try{
con=java.sql.DriverManager.getConnection(SERVANDDB,"sa","");
}
catch(Exception e){out.println(e.getMessage());}
就输出了如下信息:
[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
用eclipse编了个类似的java程序,就提示Error:no Active Connection

1