publicvoidexecuteSqlScript(Connectionconn,FileinputFile){// DelimiterStringdelimiter=";";// Create scannerScannerscanner;try{scanner=newScanner(inputFile).useDelimiter(delimiter);}catch(FileNotFoundExceptione1){e1.printStackTrace();return;}// Loop through the SQL file statements StatementcurrentStatement=null;while(scanner.hasNext()){// Get statement StringrawStatement=scanner.next()+delimiter;try{// Execute statementcurrentStatement=conn.createStatement();currentStatement.execute(rawStatement);}catch(SQLExceptione){e.printStackTrace();}finally{// Release resourcesif(currentStatement!=null){try{currentStatement.close();}catch(SQLExceptione){e.printStackTrace();}}currentStatement=null;}}}
t+ e boa sorte !!!
M
mauricioadl
cara, vlw ajuda. mais os objetos ficam invalidos.
so lembrando que o arquivo esta criptografado e o banco eh oracle.
alguma dica?
F
fernandopaiva
objetos ficam invalidos ???
Faz o seguinte, usa o Scanner pra ir exibindo seus SQLs do arquivo em um System.out()…ai vc vai corrigindo conforme precisar.
Mas eu uso dessa maneira ae e num tenho problema…Uso em Oracle/SQLServer/PGSQL e MySQL
t+ e boa sorte.
M
mauricioadl
cara, ta inesplicavel o negocio, roda beleza, dae os objetos ficam invalidos. se mandar compilar os objetos eles continuam invalidos.
se vc ir no sql developer e abrir o objeto e compilar e vai de boa.
alguma coisa que o sql developer faz que o o java nao ta fazendo, algum caractere de escape coisa e talz.
mais dicas?
estou aqui na luta, se descobrir coloco a resposta.
P
Pscodelico
Eu sei que este topico já tem tempo, mais alguma solução ?
Pois tive quase o mesmo problema ele passa pelo currentStatement.execute normalmente com a instrução SQL só que quando vou no banco ele não executou.
M
mauricioadl
entao o meu problema era outro, o arquivo rodava normal, so que os objetos ficavam invalidos no banco.
os objetos estao criptografados tbm? ou vc os roda normal?