我正在尝试连接到本地主机上的 SQL 数据库。 使用以下代码:
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch(ClassNotFoundException e) {
System.out.println("JdbcOdbcDriver wasn't found");
e.printStackTrace();
}
Connection connection = null;
try {
connection = DriverManager.getConnection("jdbc:mysql://localhost/testBase", "root", "");
Statement statement = connection.createStatement();
ResultSet res = statement.executeQuery("");
}
catch(SQLException e){ System.out.println(e); }
finally {
if(connection != null) {
try { connection.close(); } catch (SQLException e) { e.printStackTrace(); }
}
}
我有 2 个与此代码相关的问题:
- 我正在使用 sun.jdbc.odbc.JdbcOdbcDriver 驱动程序,因为它似乎是我的系统上唯一可用的驱动程序,但是我读到它是一个 Windows 组件...有没有办法让它独立于平台(或者已经是)?
第二个 catch 输出
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/
这很烦人,我似乎找不到工作方式......
感谢您的帮助!
最佳答案
生成 jar 时,可以包含其所有依赖项。
因此,您可以使用所需的任何驱动程序,并在为应用程序生成 jar 时包含它。
现在您已经跨平台了。
关于问题#2,那是因为你的lib文件夹中没有mysqLconnector。
您可以在这里下载:http://dev.mysql.com/downloads/connector/j/
只要包含它,如果你使用的是IDE,你可以寻找一个选项“include jar/folder”并添加它,然后再试一次;如果您不在 IDE 中...您必须将其设置在 classpath
上。
关于java - 连接sql数据库问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21246473/