我正嘗試在Java中的Oracle數據庫中創建一個表。當我運行此我得到的錯誤從Java連接到Oracle數據庫
ORA-00900:無效的SQL語句呼叫
無效的參數我不知道如何解決這個問題,我的研究也得出了空。
package Project2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Embedded {
private static String dbURL = "jdbc:oracle:thin:@query.engr.uconn.edu:1521:BIBCI";
private static Connection conn = null;
private static Statement stmt = null;
public static void main(String[] args) {
createConnection();
createTable();
//insertValue();
shutdown();
}
private static void createConnection() {
try {
Class.forName("oracle.jdbc.OracleDriver").newInstance();
//Get a connection
conn = DriverManager.getConnection(dbURL, "cse4701", "datamine");
} catch (Exception except) {
except.printStackTrace();
}
}
private static void createTable() {
//String sql = "CREATE TABLE IG_READY (PatientId VARCHAR(20), APC integer, TP53 integer, KRAS integer, PIK3CA integer, PTEN integer, ATM integer, MUC4 integer, SMAD4 integer, SYNE1 integer, FBXW7 integer, Status integer)";
try {
stmt = conn.createStatement();
stmt.executeQuery("creat table CRCDB.IG_READY (PatientId VARCHAR(20), APC integer, TP53 integer, KRAS integer, PIK3CA integer, PTEN integer, ATM integer, MUC4 integer, SMAD4 integer, SYNE1 integer, FBXW7 integer, Status integer, PRIMARY KEY (PatientId));");
//stmt.executeQuery("use CRCDB");
stmt.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
private static void shutdown() {
try {
if (stmt != null) {
stmt.close();
}
if (conn != null) {
DriverManager.getConnection(dbURL + ";shutdown=true");
conn.close();
}
} catch (SQLException sqlExcept) {
System.out.println(sqlExcept.getMessage());
}
}
}
從你的SQL字符串中移除';'。另外:'executeQuery()'用於select語句。要運行DDL,使用'execute()'或'executeUpdate()'。對於Oracle JDBC URL,沒有'; shutdown = true'選項。在[Oracle JDBC手冊](http://docs.oracle.com/database/121/JJDBC/toc.htm)中,您是否找到這種情況? –
另外,creat應該創建 –