Sei sulla pagina 1di 7

ACCCEDER A MSSQL2005 EN NETBEANS USANDO JDBC En este pequeo ejemplo veremos como hacer una conexin a MSSQL2005, usando

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 cual nos aparecer el archivo sqljdbc.jar que es el driver en si

Dentro de la carpeta auth encontraremos otras 3 carpetas de las cuales en el interior de x86 se encontrara el archivo sqljdbc_auth.dll

Este archivo debemos copiarlo a nuestra carpeta c:\WINDOWS\System32

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

Nos aparece la siguiente pantalla

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

Agregaremos una nueva clase a la que llamaremos Conexin

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

Solucin 1. Agregar la librera apropiada 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

Potrebbero piacerti anche