簡體   English   中英

試圖使用java在oracle 10g數據庫上執行SQL查詢,但得到ORA-00911錯誤

[英]trying to execute SQL query on an oracle 10g database using java but getting ORA-00911 error

我正在嘗試使用java在oracle10g數據庫上執行一個簡單的CREATE TABLE查詢。 這就是我在做什么:

Connection conn = //create connection
//open connection.  No errors/warnings are generated so I assume this succeeds 
Statement statement = conn.createStatement();
ResultSet rs = statement.executeQuery("CREATE TABLE t1 (c1 INTEGER NOT NULL, c2 VARCHAR(100), c3 INTEGER NULL, CONSTRAINT m_pk PRIMARY KEY (c1));");
...
//close connection.  No errors again so I assume it succeeds.

當我直接在命令行上執行命令(復制並粘貼到終端窗口中)時,它會成功。 當我運行上面的Java代碼時,這是我得到的錯誤:

java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

我不明白我怎么會有一個無效字符,因為將其復制並粘貼到終端中可以很好地工作。 如果我省略“;” 在查詢結束時,所有內容都會正常運行,但是沒有按預期方式創建表。 我已經嘗試了上述查詢的許多變體,但似乎沒有任何效果。 只需執行“創建表t1;”即可。 不執行任何操作並執行“ CREATE TABLE t1(c1 INTEGER);”; 什么也不做。

沒關系。 我在這里發布時大吃一驚! 在Java中執行查詢時,我不認為將分號放在語句的末尾。 我嘗試不將分號放在最后,並且運行時沒有錯誤,但是我認為我已經檢查了數據庫,發現未創建任何表。 我現在已經確認刪除分號是可行的!

您無需在末尾添加分號。 您能在沒有程序的情況下嘗試運行該程序嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM