Download Java CONEXION

Document related concepts
no text concepts found
Transcript
package conexion;
import java.sql.*;
import javax.swing.*;
/**
* Esta clase deberia poderse conectar con cualquier base de datos.
* Existen precargados varios url's y controladores para tres bases de
datos:
* <code>Sybase</code>,<code>Oracle</code>,<code>MySQL</code>.</br></br>
*
* <i>Ejemplo:</i></br>
* <ol>Conexion con =new
Conexion(Conexion.URL_BASADEDATOS_SYBASE_JDBC,<ol>Conexion.CONTROLADOR_SY
BASE_JDBC);</ol></ol>
* </br>
*
*
* */
public class Conexion {
//controladores JDBC � JODBC Y URL's de la base de datos Sybase
public static final String
CONTROLADOR_SYBASE_JDBC="com.sybase.jdbc2.jdbc.SybDriver";
public static final String
CONTROLADOR_SYBASE_JODBC="ianywhere.ml.jdbcodbc.IDriver";
public static final String
URL_BASEDEDATOS_SYBASE_JDBC="jdbc:sybase:Tds:localhost:2638";
public static final String
URL_BASEDEDATOS_SYBASE_JODBC="jdbc:odbc:driver=Adaptive Server Anywhere
9.0;uid=dba;pwd=sql";
//controladores JDBC � JODBC Y URL's de la base de datos MySQL
public static final String
CONTROLADOR_MySQL_JDBC="com.mysql.jdbc.Driver";
public static final String
URL_BASEDEDATOS_MySQL_JDBC="jdbc:mysql://localhost/menagerie?user=root&pa
ssword=DBA";
//controlador JDBC � JODBC Y URL's de la base de datos Oracle
public static final String
URL_BASEDEDATOS_ORACLE_JDBC="jdbc:oracle:thin:system/system@//localhost:1
521/xe";
public static final String
CONTROLADOR_ORACLE_JDBC="oracle.jdbc.OracleDriver";
//variables locales
private final String URL;
private final String CONTROLADOR;
private String url_parte_uno="jdbc:oracle:thin:";
private String url_parte_dos="@//localhost:1521/";
//declarar objeto Connection para conectar a la base de datos
private Connection conexion;
public Conexion(){
URL=URL_BASEDEDATOS_ORACLE_JDBC;
CONTROLADOR=CONTROLADOR_ORACLE_JDBC;
}
public Conexion(String url, String controlador){
URL=url;
CONTROLADOR=controlador;
}
public Conexion(String usuario, String contrasenia, String orcl){
URL=url_parte_uno+usuario+"/"+contrasenia+url_parte_dos+orcl;
CONTROLADOR=CONTROLADOR_ORACLE_JDBC;
}
public Connection abrirConexion(){
//conectarse a la base de datos
try{
/*//cargar clase de controlador de base de datos
Class.forName(CONTROLADOR);
//establecer coneccion a la base de datos
conexion= DriverManager.getConnection(URL);
return conexion;*/
Class.forName("oracle.jdbc.driver.OracleDriver");
conexion = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:XE", "rabanne", "rabanne");
return(conexion);
}//fin del bloque try
//detectar posibles problemas al interactuar con la base de
datos
catch(SQLException exceptionSql){
JOptionPane.showMessageDialog(null,
exceptionSql.getMessage(), "Error en la base de datos",
JOptionPane.ERROR_MESSAGE);
return null;
}
//detectar posibles problemas al cargar el controlador de la
base de datos
catch(ClassNotFoundException claseNoEncontrada){
JOptionPane.showMessageDialog(null,
claseNoEncontrada.getMessage(), "No se econtro el controlador",
JOptionPane.ERROR_MESSAGE);
return null;
}
//detectar errores desconocidos
catch(Exception e){
JOptionPane.showMessageDialog(null, "El mensaje de
error es: "+e.getMessage(), "Error desconocido al abrir conexion",
JOptionPane.ERROR_MESSAGE);
return null;
}
}//fin del metodo abrirConexion
public void cerrarConexion(){
// Asegurar que conexion se cierre correctamente
try {
conexion.close();
}
// manejar posibles excepciones al cerrar conexion
catch (SQLException exceptionSql) {
JOptionPane.showMessageDialog(null,
exceptionSql.getMessage(),
"Error al cerrar la conexion",
JOptionPane.ERROR_MESSAGE);
}
//errores desconocidos al cerrar la conexion
catch (Exception e) {
JOptionPane.showMessageDialog(null, "La instancia de la
conexion es: "+conexion+"\n"+
"El mensaje de error es: "+e.getMessage(),
"Error al cerrar la conexion",
JOptionPane.ERROR_MESSAGE);
}
}//fin del metodo cerrarConexion
}// fin de la clase Conexion