1
JavaプロジェクトでMySQL xamppサーバーを使用する代わりに、Microsoft Accessをデータベースとして使用することにしましたが、この構文を使用してクエリでエラーが発生しました。ここにここに私のJavaコードUCanAccessでエラーが発生した場合は、テーブルを作成しないでください
public static void main(String[] args) throws SQLException {
// TODO code application logic here
try {
conn = DriverManager.getConnection("jdbc:ucanaccess://C:\\Database.accdb;jackcessOpener=myproject.CryptCodecOpener","root", "");
System.out.println("successfuly connected");
Statement s = conn.createStatement();
PreparedStatement state = conn.prepareStatement("CREATE TABLE IF NOT EXISTS test(name varchar(400))");
state.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
finally {
}
でエラーです:
net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.1 user lacks privilege or object not found: IF
at net.ucanaccess.jdbc.UcanaccessPreparedStatement.executeUpdate(UcanaccessPreparedStatement.java:256)
at myproject.MyProject.main(MyProject.java:31)
がIF NOT EXISTS
を使用してMySQLで正常に動作しますが、UCanAccessで、私はそのエラーを持って、私はIF NOT EXISTS
を削除する場合はそれが正常に動作します。
あなたは、データベース内のテーブルを作成するための十分な権限を持っていますか? – Pirate
HSQLDBを直接使うのはなぜですか? –
はい。このような存在しないIF **を削除した場合、** TABLE TABLE( "name varchar(250)")**が正しく動作します。 –