Pessoal estou com um probleminha aqui na empresa, seguinte temos uma base de dados e a manipulamos atravéz do MySql-Front, ele tem opções de se realizar a OTIMIZAÇÃO, CHECAGEM, ANALIZE E REPARAÇÃO da base lá em TOOLS>>TABLE-DIAGNOSTICS. Pois bem no momento todas essas etapas são realizada "NA UNHA" dai estamos desenvolvemdo um forma de que isso seja feito atravez de uma pequeno aplicativo Java que será chamado via tarefas agendadas do windows e fará o porcesso todo. Queremos que os comandos sejam passados como se fossem no console direto para o MySql e a assim o processo seja realizado.
tu qé chama esta função do MySQL na tua aplicação?
tipo que ela execute através da tua aplicação??
isso???
T
toninhocell
guilhermetn3:
tu qé chama esta função do MySQL na tua aplicação?
tipo que ela execute através da tua aplicação??
isso???
Algo assim, pois vou ter mais controle sobre a execução.
Mas estou a berto a dicas e sugestões!
G
guilhermetonetto
esses tempos eu precisava acessar no SQL Server umas DTS através da minha aplicação… pesquisei na web e consegui achar a “linha” que executava através prompt … dae tentei executar através do método Runtime().exec()…e não tava bufando 100%
O que eu fiz , fiz um .bat com todas as linhas para chamar as DTS , e chamei o .bat através da minha aplicação , resolveu…
Pode ser ai a tua solução…
[]'s
T
toninhocell
guilhermetn3:
esses tempos eu precisava acessar no SQL Server umas DTS através da minha aplicação… pesquisei na web e consegui achar a “linha” que executava através prompt … dae tentei executar através do método Runtime().exec()…e não tava bufando 100%
O que eu fiz , fiz um .bat com todas as linhas para chamar as DTS , e chamei o .bat através da minha aplicação , resolveu…
Pode ser ai a tua solução…
[]'s
A primeira alternativa que analizamos foi fazer com um .bat mas estive falando com um professor e ele me aconselhou a não fazer, dai parti para a idéia de fazer em uma linguagem.
Já tentei com o Runtime().exec() mas não obtive muito sucesso.
R
rdantas
ViaJDBCnãofunciona??Vcjátentou??
G
guilhermetonetto
o que este professor falo do .bat? pq ele não aconselha?
T
toninhocell
Olha até que passou pela minha cabeça mas não implementei nada.
T
toninhocell
Me disse que por ser uma rotina que vou colocar para rodar e ela vai parar meu servidor a 1:00 AM e fazer todo o processo e em seguida colocalo no ar novamente não seria uma boa alternativa, isso pois caso ocorra algo via .bat você não pode ter algum tratamento do processo.
G
guilhermetonetto
mas me diz uma coisa esta ferramenta do MySQL que vc quer “chamar” na tua aplicação ,
é uma ferramenta nativa do MySQL né??
então pelo que eu sei vc não vai conseguir fazer outra coisa a não ser Runtime()…
W
windsofhell
Eu fiz um shell script que gerava umas estatisticas sobre o servidor executando o comando ‘show status’. Com isso vc tem bastante informacao pra algumas estatisticas como numero de conexoes, comandos enviados pro servidor, etc.
Voce poderia gazer o mesmo em java, conecta no banco e da um show status pra pegar as variaveis do servidor e ai eh so trabalhar em cima disso.
Usei esses artigos como referencia, vale a pena dar um lida.
Se tiver uma forma de passar comando diretamente para o server via java isso já daria um jeito no problema proposto.
W
windsofhell
Porque vc nao quer usar JDBC e rodar o show status ?
T
toninhocell
windsofhell:
Porque vc nao quer usar JDBC e rodar o show status ?
Manda algum material ai para eu pode ver na prática se da certo!
W
windsofhell
fiz um programinha rapidinho, tem que aprender a usar jdbc, se vai trabalhar com banco de dados hein?
//Daniel
importjava.sql.*;publicclassRunSQL{publicstaticvoidmain(String[]args){// muda aqui para o seu server.Stringhost="";Stringdb="";Stringusername="";Stringpassword="";Connectioncon=null;Statementst=null;ResultSetrs=null;try{Class.forName("com.mysql.jdbc.Driver");con=DriverManager.getConnection("jdbc:mysql://"+host+"/"+db+"?user="+username+"&password="+password);st=con.createStatement();rs=st.executeQuery("show status");while(rs.next()){System.out.println(rs.getString("variable_name")+" - "+rs.getString("value"));}}catch(SQLExceptione){System.out.println(e);}catch(ClassNotFoundExceptione){System.out.println(e);}}}
T
toninhocell
É que não tive a oportunidade de trabalhar com JDBC, tudo que trabalhei até o momento foi com Hibernate.
Vou ver se implemento aqui e fazer as alterações necessárias para minha aplicação.
Agora um detalhe: tem como eu derrubar, checar as tabelas, otimiza las e em seguida restaurar o serviço do banco tudo vai JDBC?
Um forte abraço e obrigado pelo fonte.
T
toninhocell
Realmente não vai ter como eu fazer a parada do servidor e em seguida tentar obter um conexão com ele via JDBC para poder fazer os comandos que quero…
T
toninhocell
windsofhell deu certo cara valeu mesmo, consegui enviar os comandos para o MySql via JDBC ficou show!!!