我正在尝试使用 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
我不明白我怎么会有一个无效的字符,因为将它复制并粘贴到终端工作得很好。如果我去掉“;” 在查询结束时,一切都运行没有任何错误,但没有按预期创建表。我已经尝试了上述查询的许多变体,但似乎没有任何效果。只是做“CREATE TABLE t1;” 什么都不做,做“CREATE TABLE t1 (c1 INTEGER);” 也不做任何事情。