1
我的Java項目不使用MySQL xampp服務器,而是決定使用Microsoft Access作爲我的數據庫,但在使用此語法的查詢中出現錯誤。這是我的Java代碼CREATE TABLE IF NOT EXISTS在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 NOT EXISTS ** CREATE TABLE TEST(「name varchar(250)」)**,它工作正常。 –