Последние дни я пытался научиться получать доступ к базам данных MySQL через Java.
Я могу загрузить драйвер и получить соединение с базой данных (по крайней мере, я так думаю) итак, поскольку я не получаю там исключения..)
код:
Код: Выделить всё
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);
}
}
}
драйвер загружен...
Соединение успешно...
Database-ConnectionError: java.sql.SQLException: [MySQL][Драйвер ODBC 5.2(w)][mysqld-5.5.31]База данных не выбрана
Я действительно не знаю, в чем проблема, потому что думал, что база данных выбирается во время процесса «getConnection»... .
Я попытался выбрать базу данных, добавив эту строку:
Код: Выделить всё
stmt.executeUpdate("use test;");
к сожалению, это не сработало, потому что я получил еще одно исключение в котором говорилось, что мне следует проверить синтаксис. Я этого тоже не понимаю, потому что в моей командной строке это работает нормально...
Я не знаю, можно ли использовать команды такого типа через Java, поэтому, если это не так, пожалуйста, простите мою ошибку. .
Надеюсь, вы мне поможете, и я не упустил решение во время собственных поисков!
Уже спасибо всем, кто отвечает и тратит свое время на мои проблемы!
ps. Если я забыл указать некоторую важную информацию (не думаю, что я это сделал), спросите:)
редактировать: я также пытался создать новую базу данных во время выполнения< /p>
Код: Выделить всё
stmt.executeUpdate("CREATE DATABASE test;");
Подробнее здесь: https://stackoverflow.com/questions/169 ... lected-why