Este es el Ejemplo #12.3 del Topic: Programación Gráfica en Java, que viene a formar parte del Topic #12 Código Java – Establecer Conexión a Base de Datos con JDBC
Como he explicado en el Topic #12, para realizar las conexiones necesitaremos los drivers respectivos, de acuerdo al motor de base de datos al cual deseemos conectarnos. En este ejemplo estableceremos una conexión con Apache Derby en sus modalidades Embebida y Cliente-Servidor, para el cual es necesario contar con las respectivas librería que pueden ser similares a las que se muestran a continuación:
derby.jar (Embebida)
derbyclient.jar (Cliente - Servidor)
Estas dos librerías corresponden para una base de datos Apache Derby Embebida y Cliente Servidor respectivamente. Si Derby ha sido instalada de la modalidad mostrada en el post Instalación y Ejecución de Apache Derby en Linux, las librerías podrán ubicarse en las siguientes rutas:
/usr/lib/jvm/java-6-sun/db/lib/derby.jar
/usr/lib/jvm/java-6-sun/db/lib/derbyclient.jar
En caso contrario, las librerías deberán ser obtenidas de medios externos.
Ustedes deberán conseguir la librería de acuerdo a la versión de Derby al cual deseen conectarse y establecer los parámetros de conexión como se muestra en el código siguiente:
Conexión a Base de Datos Derby Cliente – Sevidor:
package beastieux.gui; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; import javax.sql.rowset.CachedRowSet; import com.sun.rowset.CachedRowSetImpl; /** * * @author beastieux */ public class Ejm12_3_ConectarDerby {}public CachedRowSet Function(String sql) { try { Class.forName("org.apache.derby.jdbc.ClientDriver"); String url = "jdbc:derby://localhost:1527/dbtest"; Connection con = DriverManager.getConnection(url); Statement s = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs= s.executeQuery(sql); CachedRowSet crs = new CachedRowSetImpl(); crs.populate(rs); rs.close(); s.close(); con.close(); return crs; } catch(Exception e) { System.out.println(e.getMessage()); } return null; } public void StoreProcedure(String sql) { try { Class.forName("org.apache.derby.jdbc.ClientDriver"); String url = "jdbc:derby://localhost:1527/dbtest"; Connection con = DriverManager.getConnection(url); Statement s = con.createStatement(); s.execute(sql); s.close(); con.close(); } catch(Exception e) { System.out.println(e.getMessage()); } }
Conexión a Base de Datos Derby Embebida:
package beastieux.gui; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; import javax.sql.rowset.CachedRowSet; import com.sun.rowset.CachedRowSetImpl; /** * * @author beastieux */ public class Ejm12_3_ConectarDerby {}public CachedRowSet Function(String sql) { try { Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); String url = "jdbc:derby:/home/beastieux/dbtest"; Connection con = DriverManager.getConnection(url); Statement s = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs= s.executeQuery(sql); CachedRowSet crs = new CachedRowSetImpl(); crs.populate(rs); rs.close(); s.close(); con.close(); return crs; } catch(Exception e) { System.out.println(e.getMessage()); } return null; } public void StoreProcedure(String sql) { try { Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); String url = "jdbc:derby:/home/beastieux/dbtest"; Connection con = DriverManager.getConnection(url); Statement s = con.createStatement(); s.execute(sql); s.close(); con.close(); } catch(Exception e) { System.out.println(e.getMessage()); } }
En el caso de conexión a base de datos embebida, la URL contiene la ubicación de la base de datos la cual deberá ser reemplazado de acuerdo a su propia configuración:
String url = "jdbc:derby:/home/beastieux/dbtest";
Pueder ir al artículo principal:
Códigos Sencillos hechos en Java
Hola buen dia, tengo una base de datos que funciona bien pero debo conectarla manualmente , de lo contrario me manda este error : java.net.ConnectException: Error al conectarse al servidor localhost en el puerto 1,527 con el mensaje Connection refused: connect.
no conectado imposible. Podrías orientarme con alguna solución Gracias
tengo un inconveniente… y es que me esta dando la siguiente advertencia:
warning: com.sun.rowset.CachedRowSetImpl is Sun proprietary API and may be removed in a future release crs= new CachedRowSetImpl();
y el software es para una universidad… es decir no puedo tomar riesgos, que me aconsejas?