Programación General > Java
De Conexion,...ultima Consulta Del Año.
(1/1)
jhumpa:
Mañana entregare mi proyecto y despues de una "ardua pelea" con el JAR, he llegado a 3 conclusiones, para finalizar mi proyecto:
1ra Alternativa.-Lo presentaria teniendo el archivo de access en una carpeta externa al fichero JAR; y tendria que darle una ruta absoluta(ejm:c:/proyecto/base.mdb).Y para ejecutar el JAR en otra maquina tendria que poner la carpeta de mi proyecto en el disco C;...para que se conecte al access, y no es necesario definir el origen de datos.
2da Alternativa.-Se parece a la 1ra Alternativa, la diferencia estaria en contar con un metodo en el codigo que me pueda "detectar" la ruta en donde ubico el archivo, en cualquier maquina(ruta relativa).
3ra alternativa.-Lograr la conexion teniendo el archivo de access en el fichero JAR.
Ahora solo cuento con la 1ra alternativa, la 2da es mejor que la 1ra, y la 3ra es la mejor de las 3.
Porfavor, pido sugerencias de todos los expertos en este asunto; y que me digan si es accsesible hacer las 2 ultimas alternativas que planteo;...sino me quedaria con la 1ra.
Salu2
antony_soluciones:
:huh: La verdad es que no me parece nada de lo que estas haciendo...
1) Buscate un jdbc para acces o mejor cambia de BD busca sqlServer o alguna de las libres como firebird o mysql aunque lo mejor sería que te enfrentaras a oracle de una buena vez.
2)Para nada es bueno meter tu bd en el jar por que el jar es un archivo compreso y cuando cambie el tamaño de algo que es descomprimio para llevarlo a su micromundo de entorno te arrojara un sin fin de exceptions.
3) Con jdbc no nesecitas dar tanta vuelta para encontrar tu bd y la ruta de donde estas parado es un muy simple System.out.println(MiClase.getClass().getResource("").getPath().substring(6)); y con substring puedes cojer la ruta que mejor se te parezca...
Exitos y Feliz Navidad
Cordialmente,
Antony :kicking:
jhumpa:
HOLA , gracias por tu sugerencia.
--- Citar ---la ruta de donde estas parado es un muy simple System.out.println(MiClase.getClass().getResource("").getPath().substring(6));
--- Fin de la cita ---
Ya habia probado algo parecido para lectura de rutas
Ahora el codigo que implemente para la lectura de ruta es el siguiente:
--- Código: Text --- String arch=getClass().getResource("").getPath().substring(6); String archivo=arch+"basedat.mdb"; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conexion=DriverManager.getConnection(driver,"",""); sentencia=conexion.createStatement(); }catch(Exception e){ System.out.println("Error en conexion"+archivo); }
Lo que hago es ejecutar el "JAR" desde el D.O.S., para ver que errores me arroja y sale esto:
--- Citar ---Error en conexionC:/ense/proyecto_ultimo/dist/proyecto1.jar!/build/clases/base/basedat.mdb
--- Fin de la cita ---
No se por que no corre;...seran las barras inclinadas?,..sera ese simbolo que esta despues del ".jar"(!).
N os se que pasa;...quisiera que porfavor alguien me explique que es lo que pasa.
De antemano gracias y un saludo.
jhumpa:
Hola otra vez, estoy contento :jumpie: porque me salio la 2da alternativa, que es la mas accesible de las 3.
Mi archivo jar ya funciona con la base de datos;...y ya no impongo una ruta absoluta en mi codigo; sino que gracias a un metodo de la libreria "java.io", he podido detectar la ruta absoluta donde se encuentre mi archivo.
Gracias a tu informacion y al de otros de este foros he podido aprender mucho sobre este tema. :gracias:
Feliz navidad y prospero año nuevo. Y tambien les deseo exitos. :smartass:
Navegación
Ir a la versión completa