最近、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);
}
}
}
実行すると、次のように表示されます。
ドライバーがロードされました...
接続に成功しました...
database-ConnectionError: java.sql.SQLException: [MySQL][ODBC 5.2(w) Driver][mysqld-5.5.31]データベースが選択されていません
「getConnection」プロセス中にデータベースが選択されていると思ったので、問題が本当にわかりません....
次の行を追加してデータベースを選択しようとしました:
stmt.executeUpdate("use test;");
ステートメントを作成した後。
残念ながら、構文を確認する必要があるという別の例外が発生したため、機能しませんでした。私のコマンドラインでは問題なく動作するため、それもわかりません... Java経由でこれらのタイプのコマンドを使用できるかどうかはわかりません。そうでない場合は、私の間違いを許してください。
あなたが私を助けてくれることを願っています。私自身の検索中に解決策を見逃すことはありませんでした!
私の問題に返信して時間を割いてくれたすべての人にすでに感謝しています!
ps。いくつかの重要な情報を指摘するのを忘れた場合 (指摘しなかったと思います)、質問してください:)
編集:実行時に新しいデータベースも作成しようとしました
stmt.executeUpdate("CREATE DATABASE test;");
これは実際には機能しますが、データベースも選択されません...