[# Conexión con autenticación integrada - MS SQL Server 2005 y JDBC ]
Recientemente tuve que hacer una pequeña aplicación con Java SE y MS SQL 2005, era la primera vez que trabaja con esta versión del conocido motor de base de datos y como no era de extrañarse surgieron los problemas. Tenía que usar una conexión a la base de datos con autenticación integrada y el error que generaba el driver era el siguiente:
WARNING: Failed to load the sqljdbc_auth.dll
com.microsoft.sqlserver.jdbc.SQLServerException: Este controlador no está configurado para la autenticación integrada.
Esto se produce porque el driver no puede leer el archivo sqljdbc_auth.dll. Existen varias formas de solucionar esto, en la ayuda del driver proponen establecer la propiedad del sistema java.library.path para que especifique el directorio de sqljdbc_auth.dll. Particularmente no me funcionó, entonces busqué otra forma, lo que hice fue copiar el archivo sqljdbc_auth.dll correspondiente a la arquitectura de mi PC en el directorio raíz de mi aplicación por ejemplo:
C:UsersRichardDocumentsNetBeansProjects<nombre_del_proyecto>
Si de esta forma tampoco pueden conectarse pueden copiar el archivo sqljdbc_auth.dll en el directorio bin de la JVM que estén utilizando para ejecutar sus aplicaciones. Por ejemplo:
C:Program FilesJavajdk1.6.0_18jrebin
De cualquiera de las dos formas me funcionó, les dejo todos los datos más relevantes de mis pruebas:
S.O: Windows 7 Ultimate 32 bits
IDE: Netbeans 6.8
Driver: Controlador JDBC de Microsoft SQL Server 2005 versión 1.2
Motor de base de datos: Microsoft SQL Server 2005 Standard Edition
Esta es la clase que usé para conectarme con la base de datos:
/** * * @author Richard */ public class Conexion { String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String url = "jdbc:sqlserver://localhost:1433;integratedSecurity=true;databaseName=dbname;"; /** Creates a new instance of Conexion */ public Conexion() {} public java.sql.Connection getConnection(String baseDatos) { java.sql.Connection conn = null; try { Class.forName(driver); url = url.replace("dbname", baseDatos); conn = java.sql.DriverManager.getConnection(url); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch (java.sql.SQLException ex) { ex.printStackTrace(); } return conn; } }
Espero que les sea de utilidad y ya saben cualquier cosa hagan un comentario.
Richard07
Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.
Este Post ha sido visto1987 veces
Hola q tal,
He cogido tu ejemplo.
Me he bajado el driver y lo he añadido en NewDriver, he metido la dll en en la carpeta raiz del proyecto y me da la siguiene exception:
ClassNotFoundException “com.microsoft.sqlserver.jdbc.SQLServerDriver”
alguna idea??
gracias
Ese error te lo da porque no has agregado el driver JDBC al proyecto. Puedes agregar el/los jar del JDBC directamente en el proyecto o crear una librería con el manejador de Netbeans. Cualquier duda solo pregunta.
Si te refieres a añadir el driver JDBC desde la pestaña service y pinchando sobre Database. Eso ya lo hice. Te refieres a eso??
Estoy usando el siguiente driver:
C:\Java\Microsoft SQL Server JDBC Driver 2.0\sqljdbc_2.0\enu\sqljdbc4.jar
De esa forma nunca lo utilicé, lo que yo hago es crear una biblioteca desde Herramientas –> Biblioteca o bien agregar el jar directamente haciendo clic derecho sobre Bibliotecas en la pestaña proyecto. El driver está bien pero me parece que no lo estas agregando al proyecto, proba de la forma que te mencioné y comenta como te fue.
Perfecto!! Era eso, ahora funciona todo según tu guión.
Otra cosa, hay alguna manera de crear Informes tipo CrystalReport con Java y usando NetBeans??
Tengo que hacer un aplicación escritorio de gestión en swing y necesito crear entro otra cosas Informes.
Muchas gracias.
Me alegro por vos, para los reportes viene un plugin para Netbeans que se llama iReport. Vas a tener que investigar un poco antes de poder hacer un reporte, pero no es tan complicado. Te dejo un par de enlaces para que revises:
iReport for NetBeans
iReport designer for JasperReports
Reportes en NetBeans con iReport
Ok gracias, le echare un vistazo a esos enlaces