Tem como fazer SOUCE caminho para importar um script pelo java como é feito no mysql??
String query = "SOURCE D:/Desktop/scriptsql.sql";
statement = conection.prepareStatement(query);
Isso não deu certo e nem com contrabarras!
Tem como fazer SOUCE caminho para importar um script pelo java como é feito no mysql??
String query = "SOURCE D:/Desktop/scriptsql.sql";
statement = conection.prepareStatement(query);
Isso não deu certo e nem com contrabarras!
não funcionará. http://forums.mysql.com/read.php?39,23526,23700
vc terá que ler o arquivo e executá-lo http://www.coderanch.com/t/306966/JDBC/java/Execute-sql-file-java
não funcionará. http://forums.mysql.com/read.php?39,23526,23700
vc terá que ler o arquivo e executá-lo http://www.coderanch.com/t/306966/JDBC/java/Execute-sql-file-java
sim, eu até fiz assim lendo comando por comando e executando e deu certo. O problema é que eu não sei como fazer isso com trigger que tem delimiter por exemplo. Olha:
while((linha = scriptsql.readLine()) != null){
query += linha + "\n";
}
int i=0;
for(int j=i; j<query.length(); j++){
if((query.charAt(j) == ';') && (! temDelimiter)){
statement = conection.prepareStatement(query.substring(i,j));
statement.execute();
i = j+1; // o começa vai ser depois do último ';'
}
}
Isso funciona! Mas não consigo executar um CREATE TRIGGER por exemplo:
delimiter |
CREATE TRIGGER excluiprojeto AFTER UPDATE ON projeto
FOR EACH ROW BEGIN
if NEW.excluido ><> OLD.excluido then
UPDATE atividade SET excluido = NEW.excluido WHERE projeto_id_projeto = OLD.id_projeto;
UPDATE usuario_associado_proj_ativ SET excluido = NEW.excluido WHERE projeto_id_projeto = OLD.id_projeto ;
end if;
END;
|
delimiter ;