我正在嘗試進入Microsoft Access 2014.我在2014年創建了舊版本的.mdb
文件。由於我在創建System DSN
時沒有獲得.accdb
選項。我在提交Access數據庫時遇到了一些問題。Type1中的SQL語法:java jdbc odbc bridge
問題:
1)我已經做了SQL的點點,但這個SQL我們在這裏用的是完全不同的。凡我可以讀到更多這個SQL語法?即INT VS號等
2)CREATE TABLE用戶拋出SQL語法錯誤
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in
CREATE TABLE statement.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288)
at Test.main(t.java:28)
我不明白有什麼語法錯誤
3)我想寫的B/W功能是這樣的:
CREATE TABLE user(
ID int PRIMARY KEY AUTO_INCREMENTED NOT NULL,
name varchar(30));
在多個線
,而不是在一個單一的長行。我在每行拆分後都嘗試使用\
,但給我編譯時錯誤。
4)如果是CREATE TABLE批次,這個程序運行完好。在MS Access數據庫中創建一個BATCH表,但不將數據插入到相應的表中。 (我有評論相關一批表代碼,這樣,我可以看到錯誤,只爲用戶表中的所有東西。)
注:DB是我用C創建的DSN名稱:\ WINDOWS \ Syswow64資料\ odbcad32.exe的
CODE
import java.sql.*;
import java.util.*;
class Test{
public static void main(String args[]){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("Driver Loaded");
Connection myConnection = DriverManager.getConnection("jdbc:odbc:db");
System.out.println("connection established");
Statement myStatement = myConnection.createStatement();
myStatement.executeUpdate("CREATE TABLE user(ID number NOT NULL AUTO_INCREMENTED,LastName char NOT NULL,FirstName char NOT NULL, Tweet char,PRIMARY KEY (ID))");
//myStatement.executeUpdate("CREATE TABLE batch(name char, age number)");
System.out.println("Created Table");
myStatement.executeUpdate("INSERT INTO user VALUES
//myStatement.executeUpdate("INSERT INTO batch values('rakesh', 23)");
System.out.println("Commited in table");
myStatement.close();
myStatement.close();
}catch(SQLException e){ e.printStackTrace();}
catch(ClassNotFoundException e){ e.printStackTrace();}
}
}
據我所知,限制(包括主鍵)必須始終命名並且子句的順序很重要,請參閱https://msdn.microsoft.com/EN-US/library/office/ff837200.aspx –