web-dev-qa-db-ja.com

エラーJava.sql.SQLException:ORA-00911:無効な文字

コードにエラーがあります:

String sql = "CREATE USER ken IDENTIFIED BY 11;";

try {
    Class.forName("Oracle.jdbc.OracleDriver");
    con=DriverManager.getConnection("jdbc:Oracle:thin:@localhost:1521:XE", "system", "kenilyas");
    System.out.println("1111111111111");
    System.out.println("222222");
    pst = con.prepareStatement(sql);
    System.out.println("333333");
    try {
        System.out.println("333333");
        pst.execute();
        System.out.println("creating");
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
} catch (Exception e) {
    JOptionPane.showMessageDialog(null, e);
}
36
user3425433

問題は;です

sql = "CREATE USER ken IDENTIFIED BY 11;";

上記の文字列から;を削除します。

88
Abhishek

MyBatisでも同じ問題が発生しました。

エラー:

### Cause: Java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

    ; bad SQL grammar []; nested exception is Java.sql.SQLSyntaxErrorException: ORA-00911: invalid character

解決策:

select * from tableName where id= '123';

where句(Mybatis Mapper xml)から";"を削除した後、動作します。

4
user2409404