tambien tengo uno para poder restaurar la base de datos con jsp y beans, y tambien el mismo metodo puede servir para aplicacioines java si a alguien le sirve aqui se los dejo
solo den las gracias por lo menos
pagina jsp donde se busca el archivo .sql donde se encuentra la base de datos de mysql
Código HTML:
Ver original <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!--
body,td,th {
color: #FFFFFF;
font-weight: bold;
font-size: 12px;
}
body {
background-image: url(images/img.jpg);
}
-->
<body> <form name="form1" method="post" action="restaurar_bd.jsp"> <p><img src="images/Imagen HIX_ok.png" width="273" height="55"> </p> <label>Buscar Base de Datos
<input type="file" name="file"> <p><button type="submit" style="border:none; background-color:transparent;" id="btt" alt="Modificar Registro"><span style="border:none; background-color:transparent;"><img src="images/database_48.png" width="48" height="48"></span></button></p> <p>Restaurar Base de Datos
</p>
pagina jsp donde mandamos llamar el bean y mandamos aviso de error o de aviso de operacion exitosa
Código HTML:
Ver original<%@ page language="java" import="java.util.* , java.sql.*, abrir_aplicacion.restaurar" pageEncoding="ISO-8859-1"%>
<jsp:useBean id="restaurar" class="abrir_aplicacion.restaurar" scope="page">
<jsp:setProperty name="restaurar" property="*"></jsp:setProperty>
</jsp:useBean>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="global.css" type="text/css" media="all" /> <link rel="stylesheet" href="sexyalertbox.css" type="text/css" media="all" /> <script src="sexyalertbox.packed.js" type="text/javascript"></script> <%
String file=request.getParameter("file");
System.out.println(file);
if(!file.equals("")){
restaurar.RecuperarBackup(file);
if(restaurar.resp()==true){
%>
<script type="text/javascript"> window.addEvent('domready', function() {
Sexy = new SexyAlertBox();
Sexy.alert('
<h1> Retauraci
ón Exitosa!!!
</h1><p> Restuaraci
ón Exitosa:
</p><p> La Restauraci
ón se ha Realizado Satisfactoriamente.
</p>',{onComplete:
function(returnvalue) {
if(returnvalue)
{
location.href="restaurar.jsp";
}}});
}
else{
if(restaurar.resp()==false){
%>
<script type="text/javascript"> window.addEvent('domready', function() {
Sexy = new SexyAlertBox();
Sexy.error('
<h1>Error de Restauraci
ón!!!
</h1><p>La Restauracion ha Fallado:
</p><p>Inténtalo de nuevo.
</p>',{onComplete:
function(returnvalue) {
if(returnvalue)
{
location.href="restaurar.jsp";
}}});
} );
<%
}
}
}
%>
para los avisos utilizo mootools se buscan en google como sexylightbox
y este es el bean q hace todo el proceso de restauracion
Código Java:
Ver originalimport java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class restaurar {
boolean band=false;
public void RecuperarBackup
(String r
){
try {
// Ejecucion del cliente mysql
"C:/Archivos de programa/MySQL/MySQL Server 5.1/bin/mysql --password= --user=root");
muestraSalidaDeError(es);
byte buffer[] = new byte[1024];
int leido = fis.read(buffer);
while (leido > 0) {
os.write(buffer, 0, leido);
leido = fis.read(buffer);
}
os.close();
fis.close();
band=true;
e.printStackTrace();
}
resp();
}
public boolean resp(){
return band;
}
public void muestraSalidaDeError
(final InputStream es
) { @Override
public void run() {
try {
byte[] buffer = new byte[1024];
int leido = es.read(buffer);
while (leido > 0) {
leido = es.read(buffer);
}
es.close();
e.printStackTrace();
}
}
};
hiloError.start();
}
}
y este es el codigo para java
primero deben de crear un nuevo jFrame form
y agregarle dos botones y un jTextFiel
bueno si analizan el codigo veran q mas hacer
Código Java:
Ver originalimport java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
class restaurar
extends javax.
swing.
JFrame { public restaurar() {
initComponents();
}
private void jButton6ActionPerformed
(java.
awt.
event.
ActionEvent evt
) { // TODO add your handling code here:
RecuperarBackup();
}
private void jButton1ActionPerformed
(java.
awt.
event.
ActionEvent evt
) { // TODO add your handling code here:
int resp = fc.showOpenDialog(this);
archivo = fc.getSelectedFile();
jTextField1.setText(archivo.getAbsolutePath());
}
}
/**
* @param args the command line arguments
*/
public void RecuperarBackup() {
try {
// Ejecucion del cliente mysql
"C:/Archivos de programa/MySQL/MySQL Server 5.1/bin/mysql --password= --user=root");
// Lectura de la salida de error y se muestra por pantalla.
muestraSalidaDeError(es);
// Lectura del fichero de backup y redireccion a la entrada estandar
// de mysql.
byte buffer[] = new byte[1024];
int leido = fis.read(buffer);
while (leido > 0) {
os.write(buffer, 0, leido);
leido = fis.read(buffer);
}
os.close();
fis.close();
JOptionPane.
showMessageDialog(null,
"Restauracion Completada Satisfactoriamente"); e.printStackTrace();
}
}
/*** Se saca por pantalla la salida de errores del comando, por si acaso.
* * @param es
*
* El InputStream de donde leer los errores del comando mysql. */
private void muestraSalidaDeError
(final InputStream es
) { @Override
public void run() {
try {
byte[] buffer = new byte[1024];
int leido = es.read(buffer);
while (leido > 0) {
leido = es.read(buffer);
}
es.close();
e.printStackTrace();
}
}
};
hiloError.start();
}
public static void main
(String args
[]) { restaurar p = new restaurar();
p.setLocationRelativeTo(null);
p.setVisible(true);
}
// Variables declaration - do not modify
private javax.
swing.
JButton jButton1
; private javax.
swing.
JButton jButton6
; private javax.
swing.
JLabel jLabel1
; private javax.
swing.
JLabel jLabel2
; // End of variables declaration
}
bueno espero les sirva, me costo mucho conseguir el codigo y luego adaptarlo a mis necesidades y se los comparto xq muchas personas tienen la costumbre de q una vez q obtienen lo que quieren no dicen como lo solucionaron y postean su solucion, en lo personal se me hace muy egoista pedir ayuda y no regresar el favor, ya q esto nos puede ser de mucha ayuda a los demas
suerte!!!
no olviden sus comentarios