尝试使用JSP查询mssql数据库。使用ODBC连接数据库 但是这段代码无法使用tomcat作为server.i在屏幕上打印结果。我不知道在哪里做错了。请帮我解决一下。
<%@page import="java.sql.*"%>
<%@ page import="java.util.*" %>
<table border=6>
<tr><th>fname</th><th>lname</th></tr>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:ServerDB","","");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select * from dbo.company");
while(rs.next()){
%>
<tr><td><%=rs.getString("fname")%></td><td><%=rs.getString("lname")%></td></tr>
<%
}
rs.close();
st.close();
con.close();
}
catch(Exception e){e.printStackTrace();
System.out.println("Exception in connecting to DB"+e.getMessage());}
%>
</table>
答案 0 :(得分:0)
独立测试查询,即在数据库命令行上,以确保错误是否在数据库环境中,如果它正常工作 否则我猜问题会是
Connection con = DriverManager.getConnection("jdbc:odbc:ServerDB","","");
我从未使用过MSSQL,但在任何数据库中,你都必须指定用户名和密码 你的代码中的每一件事都很好,我猜问题就在连接中了!
答案 1 :(得分:0)
你没有显示哪个异常会抛出你的代码,但是有一些可能性在我身边。我想在那之后你的问题就会解决。
为此类型创建连接...
Connection con = DriverManager.getConnection("jdbc:odbc:DSN_Name");
SELECT查询将是这样的。创建DSN后,您可以直接使用tablename。
SELECT * FROM table_name
这些规范适用于MSAccess数据库。
如果您使用的是MySql数据库,则无需创建DSN。并使用四类驱动程序。