Programación General > Java

 Problemas Con Jbuider Y Interbase

(1/2) > >>

skunkdj:
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:
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 --- package mcpatos; /** * <p>Title: Mc Pato's</p> * <p>Description: Delivery de Comidas Rapidas</p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: Gonzalez & Tavasci</p> * @author Gonzalez Nicólas, Tavasci Dozo Pablo * @version 1.0 */ public class cDataBase{  /** Driver de la base de datos */  private static java.sql.Driver     Driver     = null;  /** Conexion a la base de datos */  private static java.sql.Connection Connection = null;  /** Instancia de la clase cDataBase */  private static cDataBase Instance = null;   /** Constructor privado. Llama al metodo Connect()*/  private cDataBase()  {    this.Connect();  }   /** Metodo static q llama al constructor privado   *  @returns Instancia unica de la clase */  public static cDataBase getInstance()  {    if (Instance == null)      Instance = new cDataBase();    return Instance;  }   /**   * @returns Conexion a la base de datos*/  public java.sql.Connection getConnection()  {    return this.Connection;  }   /** Metodo que se conecta a la base de datos de la aplicacion */  private void Connect()  {    String databaseURL = "jdbc:interbase://localhost/C:/Resin/doc/BaseGDB/base.gdb";    String user = "SYSDBA";    String password = "masterkey";    String driverName = "interbase.interclient.Driver";     try    {      // Carga del driver en memoria.      try      {        Class.forName(driverName);      }      catch (java.lang.ClassNotFoundException e)      {        System.out.println ("InterClient no se encuentra definido en el class path.");        System.out.println (e.getMessage ());        return;      }       // A esta altura el driver debería estar registrado con el driver manager.      try      {        Driver = java.sql.DriverManager.getDriver (databaseURL);        System.out.println ("InterClient version " +                            Driver.getMajorVersion () +                            "." +                            Driver.getMinorVersion () +                            " registrada con el driver manager.");      }      catch (java.sql.SQLException e)      {        System.out.println ("No se ha podido encontrar InterClient entre los drivers registrados.");        return;      }       // Interclient esta ahora registrado con el driver manager      // Ahora se intentara conseguir una conexion con la base de datos      try      {        Connection = java.sql.DriverManager.getConnection (databaseURL, user, password);        System.out.println ("Conexion establecida.");      }      catch (java.sql.SQLException e)      {        System.out.println ("Error al establecer la conexion.");        return;      }       // Deshabilitacion del autocommit      try      {        Connection.setAutoCommit (false);        System.out.println ("Auto-commit deshabilitado.");      }      catch (java.sql.SQLException e)      {        System.out.println ("Error al deshabilitar el auto-commit.");        return;      }    }    finally    {    }  }   /** Cierra la conexion a la base de datos*/  public void Close()  {    try    {      if (Connection != null)        Connection.close();    }    catch(java.sql.SQLException e)    {      System.out.println("No se pudo cerrar la conexion a la base de datos");    }  }}  
Salu2!!!!!!!!!!!!!!!

skunkdj:
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:
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:
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.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa