web-dev-qa-db-fra.com

Erreur Java.sql.SQLException: ORA-00911: caractère non valide

J'ai une erreur de code:

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

Le problème est ;

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

Retirer le ; à partir de la chaîne ci-dessus.

88
Abhishek

J'ai également reçu le même problème dans myBatis.

Erreur:

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

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

Solution:

select * from tableName where id= '123';

après avoir supprimé ";" de la clause Where (Mybatis Mapper xml), son fonctionnement.

4
user2409404