Foros del Web » Programación para mayores de 30 ;) » Java »

¿colocar a java derby en el mismo jar de la aplicación?

Estas en el tema de ¿colocar a java derby en el mismo jar de la aplicación? en el foro de Java en Foros del Web. hola, gracias por entrar, llevo toda la tarde intentando que la carpeta donde quedo todo lo de mi "bd java derby embebida", pueda quedar entre ...
  #1 (permalink)  
Antiguo 03/06/2011, 16:58
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 14 años, 10 meses
Puntos: 12
Información ¿colocar a java derby en el mismo jar de la aplicación?

hola, gracias por entrar, llevo toda la tarde intentando que la carpeta donde quedo todo lo de mi "bd java derby embebida", pueda quedar entre el .jar de la aplicación, todo esto para que mi cliente no tenga problemas ala hora de trastear el programa. y de paso solucionar lo de la indicación de la ruta, así que intente:

colocar dicha bd dentro de una de uno de los paquetes en netbeans y para solucionar lo de la ruta:

Código PHP:
///...

//toExternalForm me devuelbe esta ruta: jar:file: /home/ni_nombre/NetBeansProjects/Programa/dist/Programa.jar!/Bd/BD_PROGRAMA


// es por esto que utilizo el substring para que me resulte así:
///home/ni_nombre/NetBeansProjects/Programa/dist/Programa.jar!/Bd/BD_PROGRAMA

url=getClass().getResource("BD_PROGRAMA").toExternalForm().substring(9);
         
               
            
Connection con=null;
                try {

                
con DriverManager.getConnection(url"minombre""unacontraseña");

                } catch (
SQLException ex) {

                
Logger.getLogger(ConectarDerby.class.getName()).log(Level.SEVEREnullex);

                }


//... 
y al parecer me devuelve bien la ruta, osea podría ejecutar la aplicación donde sea pero al ejecutar el jar resulta:

Código HTML:
3/06/2011 05:41:30 PM Bd.ConectarDerby Consulta
GRAVE: null
java.sql.SQLException: No suitable driver found for /home/minombre/NetBeansProjects
/Programa/dist/Programa.jar!/Bd/BD_PROGRAMA

	at java.sql.DriverManager.getConnection(DriverManager.java:640)
	at java.sql.DriverManager.getConnection(DriverManager.java:200)
	at Bd.ConectarDerby.Consulta(ConectarDerby.java:27)
no se puede acceder a una bd que este en el mismo jar?

¿otras formas de embeber la bd en el jar?

¿no se puede?

gracias por adelantado por su atención...
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-

Última edición por calichecal; 03/06/2011 a las 17:32
  #2 (permalink)  
Antiguo 03/06/2011, 23:44
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: ¿colocar a java derby en el mismo jar de la aplicación?

¿Y el Class.forName() del Driver? ¿Dónde lo has puesto? ¿Funciona?

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 04/06/2011, 09:11
Avatar de calichecal  
Fecha de Ingreso: junio-2009
Ubicación: Colombia
Mensajes: 288
Antigüedad: 14 años, 10 meses
Puntos: 12
Respuesta: ¿colocar a java derby en el mismo jar de la aplicación?

Cita:
Iniciado por chuidiang Ver Mensaje
¿Y el Class.forName() del Driver? ¿Dónde lo has puesto? ¿Funciona?

Se bueno.
hola chuidiang, gracias por contestar lo he puesto así:

Class.forName("org.apache.derby.jdbc.EmbeddedDrive r");

he probado colocarlo antes y despues de la asignación ala variable url pero nada:
Código PHP:
public Unconstructor (){
         try {
           
         Class.
forName("org.apache.derby.jdbc.EmbeddedDriver");

          
url "jdbc:derby:"+getClass().getResource("/Bd/BD_PROGRAMA").getFile().toString();

           
              
        } catch (
ClassNotFoundException ex) {
            
Logger.getLogger(BaseDatos.class.getName()).log(Level.SEVEREnullex);
        }
         

              
    } 
__________________
Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica: la voluntad. -Einstein-

Etiquetas: jar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:32.