最近几天我试图学习如何通过 Java 访问 mySQL 数据库。我能够加载驱动程序并连接到数据库(至少我是这么认为的,因为我在那里没有遇到异常……)
代码是:
import java.sql.*;
public class test
{
public static void main(String[] args)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("driver loaded...");
}
catch(ClassNotFoundException e){
System.out.println("Error in loading the driver..."+e);
System.exit(0);
}
try
{
Connection dbConnection= DriverManager.getConnection("jdbc:odbc:test","root","password");
System.out.println("Connection successful...");
Statement stmt = dbConntection.createStatement();
stmt.executeUpdate("create table Accounts ( name char(20) )");
}
catch(SQLException e)
{
System.out.println("database-ConnectionError: "+e);
System.exit(0);
}
}
}
当我执行它时,它说:
驱动加载…
连接成功…
数据库连接错误:java.sql.SQLException:[MySQL][ODBC 5.2(w) Driver][mysqld-5.5.31]未选择数据库
我真的不知道这个问题,因为我认为数据库是在“getConnection”过程中选择的….
我试图通过添加这一行来选择一个数据库:
stmt.executeUpdate("use test;");
创建声明后。
不幸的是它没有用,因为我得到另一个异常,它说我应该检查语法。我也不明白,因为在我的命令行中它工作得很好……我不知道是否可以通过 Java 使用这些类型的命令,所以如果不能,请原谅我的错误。
我希望你能帮助我,我在自己的搜索过程中没有错过解决方案!
已经感谢所有回复并花时间解决我的问题的人!
附言。如果我忘了指出一些重要的信息(我想我没有)请问:)
编辑:我还尝试在运行时创建一个新数据库
stmt.executeUpdate("CREATE DATABASE test;");
这确实有效,但也不会选择数据库……
原文由 sepphuber3 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先,我正在考虑我的回答,以向您展示另一种更好的连接 MySQL 数据库的方法,它更容易并且更少 nu-expected Exception(s) 。
你需要做一些步骤:
.jar
添加到库中,或者 YouTube 上 有很多 tuts)。