Java - AGREGAR UNA LIBRERIA TRABAJANDO DESDE CONSOLA MS-DOS

   
Vista:

AGREGAR UNA LIBRERIA TRABAJANDO DESDE CONSOLA MS-DOS

Publicado por marcel (6 intervenciones) el 09/04/2015 01:56:23
Amigos Buenas Noches tengo el siguiente caso realice una carpeta y allí agregue un txt con extensión java con la intensión de correrlo desde la Consola de MS-DOS Y PERFECTO COLOCO javac Conexion.java luego java Conexion y fino el corre pero la intensión del programa es que me inserte unos datos de un txt en la base de datos y me dice que no tiene agregada la librería de mysql osea dice java lang class founs exeption jdbc drivers pero cuando lo corro desde el netbean alli si le cargue la librería y me funciona bien pero corriendo desde consola MS-DOS me sale eso como si no estuviera agregada la librería nose como agregarla o nose como resolver el problema si es fácil la respuesta perdonen mi ignorancia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alberto

AGREGAR UNA LIBRERIA TRABAJANDO DESDE CONSOLA MS-DOS

Publicado por Alberto (243 intervenciones) el 09/04/2015 04:09:36
Hola...

En el IDE correspondiente siempre se vera de forma correcta ya que cuando ejecutas el proyecto todo hace referencia a la carpeta donde se ubica el proyecto; es decir, busca dentro del proyecto las librerías y recursos que tu has agregado a la carpeta del proyecto, sin embargo, cuando queremos ejecutar un proyecto desde CMD es necesario que ese proyecto lo exportemos a un archivo .jar, donde básicamente es un archivo comprimido de tu proyecto el cual contiene tus clases, recursos, librerías, etc. De esa manera cuando ejecutamos el jar en CMD no tendremos problemas como el caso de encontrar una clase que no encuentra debido a que no se encuentra en la ubicación correspondiente.

Te proporciono un link para generar el jar con NetBeans.

http://es.wikihow.com/generar-un-archivo-JAR-en-NetBeans

Cualquier duda y/o comentario, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

AGREGAR UNA LIBRERIA TRABAJANDO DESDE CONSOLA MS-DOS

Publicado por marcel (6 intervenciones) el 10/04/2015 23:27:58
Viejo me funciono muchas gracias Dios se lo page pero sabes tengo q crear un programa demonio y hasta el momento solo me lo ejecuta una sola vez y necesito que el no pare q siempre y cuando exista el archivo inserte las variables en la base de datos y elimine el txt y si no esta que siga leyendo hasta que aparesca el txt este es el codigo que llevo

package ConexionDB;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import java.io.BufferedReader;
import java.io.*;
import java.io.FileReader;
import java.io.IOException;



/**
*
* @author kaaf
*/
public class ConexionDB extends javax.swing.JFrame {

private final String rutaArchivo;
private String linea;

String[] parts;
String part1 ;
String part2 ;
String part3 ;
String part4 ;
int i;

public ConexionDB(){
this.rutaArchivo="c:/ecografia/archivo.txt";


}

public void leerArchivo() throws SQLException{

Connection miConexion=(Connection) ConexionDB.GetConnection();
try{
FileReader fr=new FileReader(rutaArchivo);
BufferedReader entradaArchivo=new BufferedReader(fr);


linea=entradaArchivo.readLine();
while (linea != null) {

parts = linea.split("\\|");
part1 = parts[0];
part2 = parts[1];
part3 = parts[2];
part4 = parts[3];

System.out.println(linea);
System.out.println(part1);
System.out.println(part2);
System.out.println(part3);
System.out.println(part4);


try (Statement statement = (Statement) miConexion.createStatement()) {
//Aquí se asigna a la fecha en un formato el cual puede ser cambiado
statement.execute("select * from semst01 where CEDPAC='"+part2+"'");

statement.execute("insert into semst01 " + "(CEDPAC, NOMPAC, DIRPAC, TELPAC) " + " values ('"+part2+"','"+part4+"','"+part1+"','"+part3+"')");
}
linea=entradaArchivo.readLine();
}

}catch(IOException ex){
System.out.println("Error en la apertura del archivo "+ex.toString());
}



//Aquí se asigna a la fecha en un formato el cual puede ser cambiado

miConexion.close();



}

public static Connection GetConnection()

{

Connection conexion=null;

try
{

Class.forName("com.mysql.jdbc.Driver").newInstance();
String servidor = "jdbc:mysql://localhost:3306/ecos";
String usuarioDB="root";
String passwordDB="";
conexion= DriverManager.getConnection(servidor,usuarioDB,passwordDB);
}



catch(ClassNotFoundException ex)
{
JOptionPane.showMessageDialog(null, ex, "Error1 en la Conexión con la BD "+ex.getMessage(), JOptionPane.ERROR_MESSAGE);
conexion=null;
}
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null, ex, "Error2 en la Conexión con la BD "+ex.getMessage(), JOptionPane.ERROR_MESSAGE);
conexion=null;
}
catch(InstantiationException | IllegalAccessException ex)
{
JOptionPane.showMessageDialog(null, ex, "Error3 en la Conexión con la BD "+ex.getMessage(), JOptionPane.ERROR_MESSAGE);
conexion=null;
}
finally
{
return conexion;
}
}
public static void main(String[] args) throws ClassNotFoundException, SQLException{


String sFichero ="c:/ecografia/archivo.txt";
File fichero = new File(sFichero);

if (fichero.exists()){
ConexionDB ea=new ConexionDB();
ea.leerArchivo();
}


}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

AGREGAR UNA LIBRERIA TRABAJANDO DESDE CONSOLA MS-DOS

Publicado por Alberto (243 intervenciones) el 10/04/2015 23:46:05
Hola...

Para ello necesitas implementar las clases TimerTask y Timer, las cuales te permitirán ejecutar tus tareas y/o procesos cada determinado tiempo, además de crear los famosos demonios. A continuación, te proporciono un ejemplo sencillo...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class EjemploDemonio extends TimerTask{
	public static Timer timer;
 
	public static void main(String[] args) {
		// Ejecutar cada 10 minutos
		TimerTask task = new EjemploDemonio();
		timer = new Timer();
		timer.schedule(task,0,600000);
	}
 
	@Override
	public void run() {
		System.out.println(new Date());
	}
}

Para mayor información de invito a consultar la API de Java así como la investigación en Internet que te ayudara a enriquecer todo este tema.

Cualquier duda y/o comentario, aquí estamos. Suerte!

P.D. Dentro del método run(), es donde iria todo el proceso que gustas se ejecute, para este ejemplo yo solo imprimo la fecha actual.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AGREGAR UNA LIBRERIA TRABAJANDO DESDE CONSOLA MS-DOS

Publicado por Marcel Florez Pinto (6 intervenciones) el 14/04/2015 05:12:31
Viejo Buenas noches Gracias por las idea de los TimerTask y Time me funciono hace que el programa trabaje constantemente pero sabes nose que ocurre pero trato de eliminar el archivo y no me lo elimina no cumple con la linea del delete() si tienes otra idea que me puedas dar de verdad gracias ya casi termino el programa.

package ConexionDB;

import java.util.Timer;
import java.util.TimerTask;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import java.io.BufferedReader;
import java.io.*;
import java.io.FileReader;
import java.io.IOException;
import java.sql.ResultSet;
import java.util.logging.Level;
import java.util.logging.Logger;



/**
*
* @author kaaf
*/
public class ConexionDB extends TimerTask {

public static Timer timer;
private final String rutaArchivo;
private String linea;

String[] parts;
String part1 ;
String part2 ;
String part3 ;
String part4 ;

public ConexionDB(){
this.rutaArchivo="c:/ecografia/archivo.txt";

}

public void leerArchivo() throws SQLException{

Connection miConexion=(Connection) ConexionDB.GetConnection();
try{
File ficha= new File(rutaArchivo);
FileReader fr=new FileReader(rutaArchivo);
BufferedReader entradaArchivo=new BufferedReader(fr);


linea=entradaArchivo.readLine();
while (linea != null) {

parts = linea.split("\\|");
part1 = parts[0];
part2 = parts[1];
part3 = parts[2];
part4 = parts[3];

System.out.println(linea);
System.out.println(part1);
System.out.println(part2);
System.out.println(part3);
System.out.println(part4);


try (Statement statement = (Statement) miConexion.createStatement()) {
//Aquí se asigna a la fecha en un formato el cual puede ser cambiado
ResultSet rs = statement.executeQuery ("select * from semst01 where CEDPAC='"+part2+"'");
if (rs.next()==false){
statement.execute("insert into semst01 " + "(CEDPAC, NOMPAC, DIRPAC, TELPAC) " + " values ('"+part2+"','"+part4+"','"+part1+"','"+part3+"')");
}
}
linea=entradaArchivo.readLine();
}
miConexion.close();
ficha.delete();
}catch(IOException ex){
System.out.println("Error en la apertura del archivo "+ex.toString());
}

}

public static Connection GetConnection()

{

Connection conexion=null;

try
{

Class.forName("com.mysql.jdbc.Driver").newInstance();
String servidor = "jdbc:mysql://localhost:3306/ecos";
String usuarioDB="root";
String passwordDB="";
conexion= DriverManager.getConnection(servidor,usuarioDB,passwordDB);
}



catch(ClassNotFoundException ex)
{
JOptionPane.showMessageDialog(null, ex, "Error1 en la Conexión con la BD "+ex.getMessage(), JOptionPane.ERROR_MESSAGE);
conexion=null;
}
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null, ex, "Error2 en la Conexión con la BD "+ex.getMessage(), JOptionPane.ERROR_MESSAGE);
conexion=null;
}
catch(InstantiationException | IllegalAccessException ex)
{
JOptionPane.showMessageDialog(null, ex, "Error3 en la Conexión con la BD "+ex.getMessage(), JOptionPane.ERROR_MESSAGE);
conexion=null;
}
finally
{
return conexion;
}
}


public static void main(String[] args) throws SQLException {

TimerTask task = new ConexionDB ();
timer = new Timer();
timer.schedule(task,0,600000);

}

@Override
public void run() {
ConexionDB ea=new ConexionDB();
String sFichero ="c:/ecografia/archivo.txt";
File fichero = new File(sFichero);
fichero.delete();
if (fichero.exists()){

try {
ea.leerArchivo();
} catch (SQLException ex) {
Logger.getLogger(ConexionDB.class.getName()).log(Level.SEVERE, null, ex);
}
}


}


}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

AGREGAR UNA LIBRERIA TRABAJANDO DESDE CONSOLA MS-DOS

Publicado por Alberto (243 intervenciones) el 14/04/2015 06:11:15
Hola...

En sí agregar un Timer y TimerTask no tiene nada que ver con borrar un archivo ya que son procesos muy diferentes, sin embargo, también estuve un poco centrado en el tema de borrar ficheros con Java y observe dos cosas...

1.- Tuve que pesar toda la ruta completa de mi archivo para poder eliminarlo.

1
2
3
4
5
6
7
// Borrar archivo TXT una vez terminado el proceso.
File folder = new File("C:/Users/Quality/Documents/ProyectoComerciales/download_files");
File[] files = folder.listFiles();
for(int i = 0; i < files.length; i++){
	File file = new File("C:/Users/Quality/Documents/ProyectoComerciales/download_files/" + files[i].getName());
	file.delete();
}

Yo aplico un for ya que elimino mas de un archivo, como ves estoy pasando toda la ruta de mi archivo y finalmente le paso el nombre que eh recuperado a través de un arreglo que hice de String el cual contiene la lista de archivos.

2.- Es importante que el código de borrar archivo sea lo último ya que si estas trabajando con el entonces nunca lo borrara.

Sinceramente, no estoy muy seguro del borrado de archivos ya que eh leído en algunos foros que a unos les funciona y a otros no, pero por fortuna a mi si me funciono correctamente siempre y cuando pase la ruta completa.

Cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

conectarse al servidor desde otro equipo

Publicado por marcel (6 intervenciones) el 14/05/2015 22:53:50
Alberto como estas, muy agradecido por tu colaboración para la aplicacion que estoy haciendo y me funciona al pelo ya lo tengo hecho pero solo me funciona usando el mismo equipo como servidor es decir el se conectar al localhost del mismo equipo en que ejecuto el jar pero mi intensión es que el servidor este aparte y el jar en cualquier otro equipo q este en la red y realice modificaciones en la base de datos.

Class.forName("com.mysql.jdbc.Driver").newInstance();

String servidor = "jdbc:mysql://localhost/ecos";
String usuarioDB="root";
String passwordDB="";
conexion= DriverManager.getConnection(servidor,usuarioDB,passwordDB);

este me funciona bien pero el de abajo si le coloco la ip del servidor al q quiero q se conecte no lo realiza me da este error """"host is not allowed to connect to this mysql server"""

pense q hera el router y no lo pobre en una red cableada y nada desconecte el firewall de ambos equipos y nada configure la direccion en el apache y si si coloco la ip en el navegador web se conecta al servidor pero en juanto al java nada por favor q sera ese error

Class.forName("com.mysql.jdbc.Driver").newInstance();
String servidor = "jdbc:mysql://192.168.1.100/ecos";
String usuarioDB="root";
String passwordDB="";
conexion= DriverManager.getConnection(servidor,usuarioDB,passwordDB);

Ante todo Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

conectarse al servidor desde otro equipo

Publicado por Alberto (243 intervenciones) el 14/05/2015 23:43:56
Hola...

Te menciona algún tipo de error???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

conectarse al servidor desde otro equipo

Publicado por conectarse al servidor desde otro equipo (6 intervenciones) el 15/05/2015 23:06:45
si este error
""""host "xxx.xxx.xxx.xxx"is not allowed to connect to this mysql server"""

pero use esto y me funciono mysql> GRANT SELECT, INSERT ON *.* TO 'nuevo_usuario'@'10.0.0.15' IDENTIFIED BY 'pass' ;

agregando un usuario nuevo pero solo para el equipo 10.0.0.15 y necesito q funcione con cualquier equipo como lo configuro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alberto

conectarse al servidor desde otro equipo

Publicado por Alberto (243 intervenciones) el 15/05/2015 23:53:37
Hola...

Si estas pasando el usuario y password correspondiente de la otra maquina, aunque sino mal recuerdo tengo entendido que para poder conectarse entre diferentes localhost debes estar dentro de la misma red, de todas formas te proporciono dos links el cual pueden orientarte un poco...

http://tenax.helpserve.com/knowledgebase/article/View/301/76/como-configurar-mysql-remoto--instalar-la-base-de-datos-en-otra-pc

http://www.forosdelweb.com/f18/mysql-red-local-542501/

Sin mas que comentar, cualquier duda y/o inconveniente, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar