Galera,
Sei que não participo do forum, mas realmente é por falta de conhecimento.
Minha dúvida é:
String sql = "create table teste_release_nova(codigo number(9) default 0);\n alter table teste_release_nova add codigo1 number(9) default 0; ";
tenho o código acima, nele existem 2 sentenças SQL.
Gostaria de executar essas duas sentenças via código, não chamar um SQLPLUS.exe ou algo semelhante.
Tentei com o método EXECUTEBATCH()
porém não obtive sucesso, ele retorna uma exception dizendo que tem INVALID CARACTER.
Porem, se eu fizer separadamente ele executa.
Meu código esta abaixo:
public void executaBatch() {
String sql = "create table teste_release_nova(codigo number(9) default 0);\n" +
"alter table teste_release_nova add codigo1 number(9) default 0; ";
try {
PreparedStatement pstmt = connPre.prepareStatement(sql);
connPre.setAutoCommit(false);
pstmt.clearBatch();
pstmt.addBatch();
int[] result = pstmt.executeBatch();
pstmt.close();
connPre.commit();
connPre.close();
System.out.println("SQL " + sql + " executado com sucesso.");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(e.getErrorCode());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
Estou utilizando banco ORACLE 8,9,10,11
Se alguém souber de alguma solução.