[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