Buscar este blog

05 septiembre 2008

Conectando NetBeans con SQL Server 2005


Primer dilema, ¿que versión de driver instalo?

Microsoft SQL Server 2005 JDBC Driver 1.2
Dado que las funciones de JDBC 3.0 requieren la versión 1.4 o posterior de Java Runtime Environment (JRE), el controlador JDBC también requiere la versión 1.4 o posterior de JRE. El controlador JDBC se ha diseñado para funcionar en prácticamente todos los equipos virtuales principales, aunque es oficialmente compatible con Sun JRE 1.4 o posterior.

Microsoft SQL Server 2005 JDBC Driver 2.0
A partir de la versión 2.0, el driver JDBC viene con soporte para Java Database Connectivity (JDBC) Spec API y ha sido extendido para incluir las especificaciones JDBC 4.0. La JDBC 4.0 fue incorporado como parte de la Sun Java SE Development Kit (JDK) 6.0 y la Java Runtime Environment (JRE) 6.0. JDBC 4.0 es una generalizacion
de de JDBC 3.0. Este driver soporta ambas especificaciones JDBC 3.0 y JDBC 4.0.

Manos a la obra:
Como yo uso la JRE 6.0 y JDBC 4.0 voy a conectarme utilizando la versión 2.0 del conector JDBC para SQL Server 2005 el cual lo podemos bajar de aquí. El IDE a utilizar es NetBeans 6.5 beta y el DBMS es SQL Server 2005 Express Edition.

Paso 1) Bajar, ejecutar y descomprimir los archivos, en mi caso moví luego la carpeta a C:\Archivos de programa\

Paso 2) Abrimos NetBeans, como comente antes en mi caso la versión 6.5 beta aunque el procedimiento debería ser similar para versiones 6.x. Nos vamos a la pestaña de "Services" y luego al nodo "Drivers" y hacemos click derecho sobre este, para luego hacer click en "New Driver...".



Paso 3) Hacemos click en "Add..." y le damos la ruta del driver en mi caso: C:\Archivos de programa\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_2.0\enu\sqljdbc4.jar y luego presionamos en "OK".



Veremos que se nos agrega un nodo en "Drivers" que se llama: "Microsoft SQL Server 2005".


Paso 4) Click derecho sobre el nodo de nuestro nuevo driver y seleccionamos "Connect Using...".


Completamos los datos de la conexión en cada campo o simplemente escribimos el string de conexión completo en el campo JDBC URL haciendo primero click en "Show JDBC URL". En este caso el string de conexión es: "jdbc:sqlserver://LAPTOP\SQLEXPRESS;databaseName=prueba;" a esto le faltaría agregar
la parte de autenticación con lo que quedaría: "jdbc:sqlserver://LAPTOP\SQLEXPRESS;databaseName=prueba;user=usuario1;password=123"
Lo que no me anduvo fue utilizar seguridad integrada con el parámetro "integratedSecurity=true". Pruebenlo y si logran hacerlo andar me dicen como por favor...


Pasamos a la pestaña "Advanced", presionamos en "Get Schemas" y seleccionamos "dbo", sino hacemos esto no podremos ver los campos de las tablas en el IDE.


Paso 5) Si todo sale bien y no se escucha ningún chan!, los felicito acaban de configurar una conexión a SQL Server 2005 Express desde NetBeans!
Podemos ahora ver en la seccion de conexiones nuestra conexión recién creada.


Paso 6) Para comprobar de que todo anda bien (por lo menos un SELECT *) expandimos las tablas en el nodo "Tables" y hacemos click derecho sobre alguna tabla y elegimos "View Data..." y ... voilà!



Si tropezaron en el paso 5 y están utilizando un servidor remoto o virtual puede ser que haya faltado configurarle las conexiones remotas a SQL Server, esto se puede habilitar con la herramienta "Configuración de superficie de SQL Server", tampoco olvidar ejecutar el servicio "Explorador de SQL Server".




Espero que este humilde tutorial sirva para algo y para alguien. Saludos!

Enlaces relacionados: MSDN, NetBeans, JDBC

18 comentarios:

Diego Ramirez dijo...

A media máquina igual sacás buenos artículos ^_^.
Saludos

Angel Hernán Zini dijo...

Gracias por los elogios Diego! son puras capturas aunque una imagen dice mas que 1000 palabras ... dicen que ...

Chochito dijo...

funciona lo q se armo hernan, asiq armate otro armate otro hernan...

Toto dijo...

vieja. cuidado con juampi de "el blog de juampi" que se esta robando los posts de los demas. jajaja

LUIGY dijo...

Me enseñas a programar con JAVA!!!

Anónimo dijo...

estaba bueno...gracias

Anónimo dijo...

man gracias por la guia pero podrias hacer una para Sql Server 2000? es q estamos trabajando con ese y al parecer tengo problemas en la conexion :S! Gracias .

Anónimo dijo...

Man te tengo una pregunta, una vez realizada la conexion con la base como gestiono los datos

Anónimo dijo...

No tengo mucha experiencia en programar con Java..y estoy buscando como conectarlo con SQL, hasta ahora debo decir que es la mejor explicación que encontré (y miren que busqué eh?) Ahora voy a probarla..
Sería similar en el Netbeans 5.5???

Gracias!!

Angel Hernán Zini dijo...

Hola, respondiendo algunas de sus dudas, les cuento que no probé realizar la conexión con SQL Server 2000, los pasos deberían ser los mismos incluso quizas con el mismo driver de SQL 2K5, y sino, habría que probar con alguno anterior compatible con SQL Server 2000. (probar este driver )
Otro tema: en cuanto a gestionar los datos una vez realizada la conexión existen diversas estrategias: una puede ser directamente utilizando JDBC mediante el namespace java.sql como en este ejemplo.
Y para finalizar, para conectarse con NB 5.5 debería ser similar al ejemplo que les mostré y sino usar como guía este paso a paso con NB 5.5.1.
Bueno amigos espero haber sido de utilidad, hasta pronto!

Anónimo dijo...

Cuando llego al paso 4 me da un mensaje: 'Error en inicio de sesión del usuario. El usuario no está asociado a una conexión de SQLServer de confianza' pero al tratar de usar Integrated Security tampoco me permite. Existe otra forma?

Anónimo dijo...

Lo resolvi creando un login nuevo en SQL y dandole los permisos y accesos necesarios. Despues fue el que configuré para la conexión. Tu post me sirvio muchisimo!!!

Angel Hernán Zini dijo...

Hola me alegro hayas podido resolverlo, esa era la solución, por ahí no tengo tiempo para responder a tiempo. Saludos y gracias por el feedback!

Anónimo dijo...

Muchas gracias, realmente me has ayudado a solucionar un gran problema que tenia :D

Airinth dijo...

hola, muchas gracias por la informacion.
necesito un favor a versi me puedes decir donde puedo conseguir losdrivers de sql server. muchas gracias

Angel Hernán Zini dijo...

Hola Airinth:
He notado que esta roto el enlace a los driver te dejo el enlace a la última versión que creo ya soporta SQL SERVER 2008:

Driver 1

y la versión anterior que soportaba hasta SQL Server 2005:

Driver 2

Gracias por comentar, espero te sirva.
Saludos!

Anónimo dijo...

Hola amigos, aqui les traigo una solucion para poder utilizar la propiedad integratedSecutity=true; en la url de la conexion, bueno ahi voy con la explicacion:

Al descargar el driver y desempaquetarlo, nos vamos a esta ruta(esta ruta corresponde al desempaquetar el .exe de driver que bajamos de la pagina de microsoft): Microsoft SQL Server JDBC Driver 2.0\sqljdbc_2.0\esn\xa ; aqui encontraremos un archivo sql llamado xa_install.sql, pero antes de ejecutarlo copiaremos el archivo sqljdbc_xa.dll que se encuentra en :Microsoft SQL Server JDBC Driver 2.0\sqljdbc_2.0\esn\xa\x86 a la carpeta BIN del directorio donde instalamos nuestro SQL Server 2005; ejecutamos el mencionado archivo sql(hay que hacerlo lote por lote, es decir hasta un Go seleccionamos y ejecutamos), ahora el secreto es este debemos copiar el archivo sqljdbc_auth.dll encontrado en el directorio Microsoft SQL Server JDBC Driver 2.0\sqljdbc_2.0\esn\auth\x86 a la carpeta E:\WINDOWS, para mi caso mi SO esta instalado en la unidad E:; compilamos nuestra aplicacion y la ejecutamos y a Dios gracias todo bien.
Espero que les funcione al igual que a mi, pues yo estaba sufriendo por esta solucion hasta que la encontre.
Postdata:Las rutas que aparecen en la explicacion corresponden a los directorios y archivos que se generan al desempaquetar el driver.

Roger Ivan dijo...

Brother muchas gracias por el enlace del driver para sql server 2005 solo me falta conectarlo jejejejejeje bueno que Dios te Bendiga y te deseo muchos exitos en tu vida.