Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
su driver JBDC, desde NetBeans Extraeremos el archivo sqljdbc_1.2.2828.100_enu.exe MSSQL2005_JDBC dentro del NetBeans a una carpeta llamada
Dentro de la carpeta auth encontraremos otras 3 carpetas de las cuales en el interior de x86 se encontrara el archivo sqljdbc_auth.dll
Abrimos el NetBeans y creamos una nueva aplicacin Java a la cual llamaremos MSSQL2005_JDBC
Agregaremos el driver desde el explorador de proyectos; clic derecho en Libraries y escogemos Add Library
Se podr apreciar todas las libreras a las cuales podemos acceder. En nuestro caso crearemos una para el nuevo driver JDBC. Clic en Create y le ponemos como nombre MSSQL2005_JDBC_Driver
Con esto habremos agregado a las libreras globales nuestro driver. La ventaja de que nuestra librera sea global es que a partir de ahora nuestro driver podr ser agregado a cualquier otro proyecto que se desee tan solo seleccionndolo de esta lista Para administrar todas nuestras libreras podemos usar el Library Manager desde el men Tools
Como vemos el driver se agrega a las librerias de nuestro proyecto. Con esto ya podremos hacer la conexin a una BD en MSSQL2005
Conexin.java import java.sql.*; import javax.swing.*; Importamos java.sql.* por el uso de Connection y la clase DriverMapper Importamos javax.swing.* por el uso de JOptionPane para mostrar los mensajes Implementamos un nuevo procedimiento llamado miConexion public void miConexion(){ try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=EJEMPLO;integratedSecurity=true;"; Connection cn = DriverManager.getConnection(connectionUrl); } catch (SQLException e) { JOptionPane.showMessageDialog(null,"Excepcion MSSQL: " + e.toString()); } catch (ClassNotFoundException cE) { JOptionPane.showMessageDialog(null,"Excepcion Clase no encotrada: " + cE.toString()); } JOptionPane.showMessageDialog(null, "Conexion exitosa"); }
Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver) Se carga el driver SQL Server localhost:1433 Se refiere a la conexin SQL Server, servidor=localhost y puerto=1433 (puerto predeterminado). databaseName=EJEMPLO Se refiere al nombre de la base de datos a la cual queremos conectar
Llamamos a nuestra conexin desde la clase Main que se creo por defecto junto con nuestro proyecto Main.java public class Main { public static void main(String[] args) { Conexion cnn = new Conexion(); cnn.miConexion(); } } Compilamos el y corremos el proyecto. Si no ocurre ningn error, significa que la conexin se ha establecido satisfactoriamente y deberamos ver solo este mensaje
ERRORES QUE SE PUEDEN PRODUCIR Al compilar y ejecutar nuestro proyecto se pueden producir los siguientes errores Problema 1 Excepcion Clase no encotrada: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver Causa 1. El archivo de la librera JDBC no a sido cargado correctamente. Tal vez no haz agregado la librera del archivo sqljdbc.jar al proyecto 2. No has importado la librera java.sql.* al proyecto
2. Importar la librera java.sql.* al comienzo del cdigo de nuestra conexin Problema 2 Excepcion SQL: com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host has failed. java.net.ConnectException: Connection refused: connect Causa 1. Se esta tratando de conectar a un SQL Server el cual no tiene el servicio SQL Server corriendo o el servicio no acepta conexiones remotas. Solucin 1. Revisa la cadena que la cadena de conexin tenga el nombre del servidor y puerto correcto 2. Verifica si el servicio del SQL Server esta corriendo 3. Comprueba que tu SQL Server esta configurado para permitir conexiones remotas 4. Desactiva el Firewall de Windows esta activado
Problema 3 SQL Exception: com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. 03/11/2008 07:36:40 AM com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit> ADVERTENCIA: Failed to load the sqljdbc_auth.dll Causa 1. No se agrego el archivo sqljdbc_auth.dll al directorio del sistema. Solution 1. Copiar el archivo sqljdbc_auth.dll de la carpeta \auth\x86, donde extraimos el driver JDBC, a C:\Windows\System32 OJO!! Recordar que el SQLSERVER tiene 2 modos de autentificacin: 1. Autentificacin de Windows (Seguridad integrada) jdbc:sqlserver://serverName:portNumber;databaseName=Databa seName;integratedSecurity=true; No se necesita de un inicio de sesin, es decir una conexin sin user ni password Es obligatorio copiar el archivo sqljdbc_auth.dll a C:\Windows\System32
2. Autentificacin de SQL Server jdbc:sqlserver://serverName:portNumber;databaseName=Dat abaseName;user=UserName;password=Password; Se necesita de un inicio de sesin obligatorio, por ejemplo el super usuario sa y su password No es necesario copiar el archivo sqljdbc_auth.dll a C:\Windows\System32