最後に、私はJavaでmySQLデータベースにアクセスする方法を学びました。 私はドライバをロードし、データベースへの接続を取得することができています(私はそこに例外を取得しないので、少なくとも私はそう思う...)java.sql.SQLException:データベースが選択されていません - なぜですか?
コードは次のとおりです。
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);
}
}
}
私はそれが言い、それを実行します。
driver loaded...
Connection successful...
database-ConnectionError: java.sql.SQLException: [MySQL][ODBC 5.2(w) Driver][mysqld-5.5.31]No database selected
私はデータベースが「このgetConnection」プロセス中に選択されていると思ったので、私は本当に、問題を知らない....
私は追加することによって、データベースを選択してみましたこの行:
stmt.executeUpdate("use test;");
ステートメントを作成した後。
残念ながら、私は構文をチェックすべきだと言った別の例外があるので、それはうまくいきませんでした。私はそれが私のコマンドラインでうまく動作するのでどちらかを理解していない... Javaを介してこれらのコマンドの種類を使用することが可能かどうかわからないので、私の間違いを許してください。
私はあなたを助けてくれることを願っています。私は自分の検索で解決策を見逃すことはありませんでした。
すでに返信して問題に時間を費やしてくれたすべての方に感謝します。
ps。私も
stmt.executeUpdate("CREATE DATABASE test;");
が実際に動作します。この実行時に新しいデータベースを作成しようとしたが、私はいくつかの重要なに関する情報を指摘するのを忘れた場合:)
編集を依頼してください(私は私がやったとは思いません)データベースは選択されません。
:JDBCドライバでは、 '使用のようなコマンドを使用しないでください 'を使用してデータベースを切り替えることができます。代わりに、 'setCatalog'や' setSchema'を使うか、接続文字列でデータベースを指定してください。 'use 'を使用すると、ドライバの動作が正しくない可能性があります。 –