javaからOracle DBにテーブルを作成しようとしています。私はエラーJavaからOracle DBに接続
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は作成する必要があります –