[LUG.ro] ayuda con MYSQL II
Gustavo Guillermo Pérez
lugro@lugro.org.ar
Fri, 25 Feb 2005 19:58:41 +0000
El Jueves, 24 de Febrero de 2005 21:58, Martin Gaido escribió:
> Creo que ya lo tengo:
>
> http://archives.neohapsis.com/archives/mysql/2004-q1/2434.html
>
> Pero si a alguien se le ocurre otra mejor...
>
> Saludos,
Mysql en la consola detecta ciertas características y te arma un listado como
este:
+-------------+
| CML |
| CRON |
| EriK |
| GADMIN |
| mysql |
| pepe |
| proyectos |
| test |
+-------------+
Donde los signos que separan la tabla son visible si quieres mayor
manipulación de formatos como separar el listado plano por tabuladores o algo
similar tendrías que escribir un pequeño programita en Java o C que haga la
consulta por uno, por ejemplo en java sería:
java -cp /home/gus/ SqlManip perritos "select * from veterinarios" usuarioyo
mipassword > /tmp/miarchivo-dump.txt
Un ejemplo de código:
import java.sql.*;
public static String DRIVER_DEFAULT="com.mysql.jdbc.Driver";
public static String DRIVER_CALLER="jdbc:mysql";
public class SqlManip {
public static void main(String[] args) {
/* El primer argumento el nombre de la base de datos, el tercero la sentencia
SQL
el cuarto el usuario, el quinto la contraseña */
SqlManip sqlManip1 = new SqlManip();
System.out.println("DEFAULT_DRIVER:"+SqlManip.DRIVER_DEFAULT);
SqlManip.loadDriver();
Connection con=SqlManip.getDefaultConnection(SqlManip.DRIVER_CALLER+
"://127.0.0.1/"+args[0], args[2], args[3]);
Statement MySQL = con.createStatement();
ResultSet rs;
rs = MySQL.executeQuery(args[1]+";");}
ResultSetMetaData rsm=rs.getMetaData();
int ColumnCount=rsm.getColumnCount();
this.Cols=ColumnCount;
Object st[];
while(rs.next()){
st=new String();
for (int i=1;i<=ColumnCount;i++){
try{
st=st+"\""+rs.getString(i))+"\"\t";} //Ese \t es el tabulador
catch (java.lang.NullPointerException e){st=st+"\"\"\t";}
}//end for
System.out.println(st);
}//end while
}//end main
public static boolean loadDriver(){return
try{Class.forName(SqlManip.DRIVER_DEFAULT);}
catch (Exception e){return false;}
return true;
}
public static Connection getDefaultConnection(String dbn,String user,String
password) throws SQLException{
return java.sql.DriverManager.getConnection(dbn,user,password);
}
}
Perdón si tiene algo raro, ando bajo medicación e hiperactivo de a ratos. :)
Saludos.
--
Gustavo Guillermo Pérez
Compunauta uLinux
www.ulinux.tk