• Jueves 14 de Noviembre de 2024, 09:14

Autor Tema:  Problemas Con Jbuider Y Interbase  (Leído 2819 veces)

skunkdj

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Problemas Con Jbuider Y Interbase
« en: Viernes 20 de Agosto de 2004, 11:57 »
0
Hola a todos y gracias por adelantado:

Mi problema es el siguiente:
Estoy utilizando Jbuilder3 y necesito conectarme a una base de datos en Interbase por lo que he instalado Interclient.
He añadido la libreria de interclient a mi proyecto para hacer accesible el driver.

Pero no puedo conectarme,el codigo q utilizo es el siguiente:
 public void conectarse(){

Connection Cn=null;
try{
String Url="jdbc:interbase://localhost/c:\\pruebas.gdb";
String Login="SYSDBA";
String PassW="masterkey";

Class.forName("interbase.interclient.Driver");

System.out.println("ha aceptado el driver");
   try{
   Cn=DriverManager.getConnection(Url,Login,PassW);
   }
   catch(SQLException a){
     a.printStackTrace();
   }
}
catch (Exception e){
System.out.println("error en el driver");
e.printStackTrace();
}

El error no me lo da en el driver ya que lo acepta,el error estaen el getconnection.
Me salen por pantalla un monton de errores que no soy capaz de identificar.

Gracias de nuevo

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Problemas Con Jbuider Y Interbase
« Respuesta #1 en: Viernes 20 de Agosto de 2004, 14:25 »
0
Hola!!!!!!!!!!!!

Proba con esto q tengo. Es una clase q se conecta y cierra como unicos dos metodos. El constructor es privado. Ahi va:
Código: Text
  1.  
  2. package mcpatos;
  3.  
  4. /**
  5.  * <p>Title: Mc Pato's</p>
  6.  * <p>Description: Delivery de Comidas Rapidas</p>
  7.  * <p>Copyright: Copyright (c) 2004</p>
  8.  * <p>Company: Gonzalez & Tavasci</p>
  9.  * @author Gonzalez Nicólas, Tavasci Dozo Pablo
  10.  * @version 1.0
  11.  */
  12.  
  13. public class cDataBase
  14. {
  15.   /** Driver de la base de datos */
  16.   private static java.sql.Driver     Driver     = null;
  17.   /** Conexion a la base de datos */
  18.   private static java.sql.Connection Connection = null;
  19.   /** Instancia de la clase cDataBase */
  20.   private static cDataBase Instance = null;
  21.  
  22.   /** Constructor privado. Llama al metodo Connect()*/
  23.   private cDataBase()
  24.   {
  25.     this.Connect();
  26.   }
  27.  
  28.   /** Metodo static q llama al constructor privado
  29.    *  @returns Instancia unica de la clase */
  30.   public static cDataBase getInstance()
  31.   {
  32.     if (Instance == null)
  33.       Instance = new cDataBase();
  34.     return Instance;
  35.   }
  36.  
  37.   /**
  38.    * @returns Conexion a la base de datos*/
  39.   public java.sql.Connection getConnection()
  40.   {
  41.     return this.Connection;
  42.   }
  43.  
  44.   /** Metodo que se conecta a la base de datos de la aplicacion */
  45.   private void Connect()
  46.   {
  47.     String databaseURL = "jdbc:interbase://localhost/C:/Resin/doc/BaseGDB/base.gdb";
  48.     String user = "SYSDBA";
  49.     String password = "masterkey";
  50.     String driverName = "interbase.interclient.Driver";
  51.  
  52.     try
  53.     {
  54.       // Carga del driver en memoria.
  55.       try
  56.       {
  57.         Class.forName(driverName);
  58.       }
  59.       catch (java.lang.ClassNotFoundException e)
  60.       {
  61.         System.out.println ("InterClient no se encuentra definido en el class path.");
  62.         System.out.println (e.getMessage ());
  63.         return;
  64.       }
  65.  
  66.       // A esta altura el driver debería estar registrado con el driver manager.
  67.       try
  68.       {
  69.         Driver = java.sql.DriverManager.getDriver (databaseURL);
  70.         System.out.println ("InterClient version " +
  71.                             Driver.getMajorVersion () +
  72.                             "." +
  73.                             Driver.getMinorVersion () +
  74.                             " registrada con el driver manager.");
  75.       }
  76.       catch (java.sql.SQLException e)
  77.       {
  78.         System.out.println ("No se ha podido encontrar InterClient entre los drivers registrados.");
  79.         return;
  80.       }
  81.  
  82.       // Interclient esta ahora registrado con el driver manager
  83.       // Ahora se intentara conseguir una conexion con la base de datos
  84.       try
  85.       {
  86.         Connection = java.sql.DriverManager.getConnection (databaseURL, user, password);
  87.         System.out.println ("Conexion establecida.");
  88.       }
  89.       catch (java.sql.SQLException e)
  90.       {
  91.         System.out.println ("Error al establecer la conexion.");
  92.         return;
  93.       }
  94.  
  95.       // Deshabilitacion del autocommit
  96.       try
  97.       {
  98.         Connection.setAutoCommit (false);
  99.         System.out.println ("Auto-commit deshabilitado.");
  100.       }
  101.       catch (java.sql.SQLException e)
  102.       {
  103.         System.out.println ("Error al deshabilitar el auto-commit.");
  104.         return;
  105.       }
  106.     }
  107.     finally
  108.     {
  109.     }
  110.   }
  111.  
  112.   /** Cierra la conexion a la base de datos*/
  113.   public void Close()
  114.   {
  115.     try
  116.     {
  117.       if (Connection != null)
  118.         Connection.close();
  119.     }
  120.     catch(java.sql.SQLException e)
  121.     {
  122.       System.out.println("No se pudo cerrar la conexion a la base de datos");
  123.     }
  124.   }
  125. }
  126.  
  127.  

Salu2!!!!!!!!!!!!!!!

skunkdj

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Problemas Con Jbuider Y Interbase
« Respuesta #2 en: Viernes 20 de Agosto de 2004, 17:58 »
0
Gracias por tu ayuda.

Pero esto sigue sin funcionar, he conseguido aislar el error
gracias al visor jdbc de jbuilder y es el siguiente:

class:interbase/interclient/ErrorKey, method <clinit> signature:()V) Expecting to find object/array on stack;

Esto aparece justo cuando se hace el getconnection,ya que en tu codigo me pone cual es la version del driver asi q pasa la prueba del driver.

No se cual es el problema ya que ibserver y interclient estan ejecutandose como servicio.

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Problemas Con Jbuider Y Interbase
« Respuesta #3 en: Viernes 20 de Agosto de 2004, 18:14 »
0
Te fijaste en la ruta de la BD, si va con contra-bara, con barra, doble barra. Larga el DataBase Pilot de JBUILDER y fijate como te pone la ruta, Si no es eso, fijate en el classpath, y si no www.java.sun.com

Salu2!!!!!

skunkdj

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Problemas Con Jbuider Y Interbase
« Respuesta #4 en: Viernes 20 de Agosto de 2004, 18:31 »
0
SIgue sin funcionar he intentado poner la base de datos de todas las formas y no funciona.

Estoy ejecutandolo en windows xp,sera este el problema?
es q soy novato y no se muy bien como va esto y la verdad es q estoy ya desesperado.

nicokiki

  • Miembro MUY activo
  • ***
  • Mensajes: 298
    • Ver Perfil
Re: Problemas Con Jbuider Y Interbase
« Respuesta #5 en: Viernes 20 de Agosto de 2004, 20:15 »
0
Yo lo corro en XP y anda sin problema. Si te puedo decir q tuve mil horas para lograr la conexion. revisaste el Interbase Server y esas cosas????

Salu2!!!!

skunkdj

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Problemas Con Jbuider Y Interbase
« Respuesta #6 en: Domingo 22 de Agosto de 2004, 11:58 »
0
Muchas gracias por tu ayuda.

Al final lo he conseguido poner en funcionamiento,ejecutandolo en win NT, no se sireia el xp pero haciendo exactamente lo mismo en xp no me funcionaba y en nt si.
Quizas el problema estuviera en la instalacion de interbase o algo asi.

Bueno ya se acabo mi pesadilla, gracias por ayudar a los novatos que sin esa ayuda nos desesperariamos


 :smartass: