我在带有 JAVASE 7(工作正常)的桌面应用程序中使用 mysql-connector-java-5.1.22-bin.jar 用于 JDBC,但对于 JAVASE 6(与 JAVASE 7 应用程序中的代码相同)它不起作用。我在控制台中都看不到任何异常,也看不到我所做的任何调试打印。有什么问题?
这是我的项目文件夹http://open-pages.com/temp.zip
我在带有 JAVASE 7(工作正常)的桌面应用程序中使用 mysql-connector-java-5.1.22-bin.jar 用于 JDBC,但对于 JAVASE 6(与 JAVASE 7 应用程序中的代码相同)它不起作用。我在控制台中都看不到任何异常,也看不到我所做的任何调试打印。有什么问题?
这是我的项目文件夹http://open-pages.com/temp.zip
我认为您的问题不涉及 java 6 与 Java 7。据我所知,您的代码中没有任何内容使用 Coin 语法。问题是 java 桌面应用程序与 Web 应用程序。JDBC驱动程序是否包含在war文件中?(在库文件夹中)我通常在上下文中配置数据库连接。xml 并使用 InitialContext 获取数据源。
只需编写一个简单的测试 jsp 或 Servlet 即可连接到您的数据库并显示一些查询结果。您可以直接在网页上打印任何异常,以便于测试。我不确定为什么没有将异常写入您的日志文件(检查写入服务器日志文件夹的最新文件)
<%-- mysqlTest.jsp :For testing mysql connection and database query syntax --%>
<html><body>
<h2 align="center">SQL Test for mySQL JDBC Driver</h2>
<%
java.sql.Connection con = null;
try {
String url="jdbc:mysql://localhost:3306/test";
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=java.sql.DriverManager.getConnection(url, "root", "abc");
if(con!=null) {
String query="select userName, password from users";
java.sql.PreparedStatement stmt=con.prepareStatement(query);
java.sql.ResultSet r=stmt.executeQuery();
while(r.next()){
out.print(r.getString(1));
out.println("<br>");
}
r.close();
stmt.close();
}
else
out.println("<strong>The Database connection is null. DriverManager could not return a valid connection.</strong>");
}
catch(ClassNotFoundException e){
out.println("Cannot load driver<br>" +e.toString());
}
catch(java.sql.SQLException e){
out.println(e);
}
catch(Exception e){
out.println(e);
}
finally {
if(con!=null)
con.close();
}
%></body></html>