Weblog de Victor Ramirez

Sábado, julio 27, 2013

Documentación DB2 en el sitio IBM

Filed under: db2 — Etiquetas: , , , , — vramirez @ 11:31 AM

IBM es una de las empresas más grandes del mundo, y en el campo de tecnología es líder indiscutible con innumerables patentes y licencias de inventos. Sin embargo, algo para lo que considero no es bueno IBM, es para ordenar su sitio web. Constantemente cambia, lo rediseñan (hablo de al menos una vez cada 8 meses o 1 año, algo no muy común para un sitio de Internet) y luego uno tiene que volver a trazar el camino hacia lo que ya había encontrado finalmente. A veces pienso que debería existir una certificación “IBM Website Certified”, pues no cualquiera encuentra lo que busca en la web de IBM.

Uno de mis sitios favoritos y frecuentemente visitado en IBM es la biblioteca con la documentación de DB2, al cual recurro para obtener los documentos actualizados para realizar cualquier tipo de configuración, o despejar dudas sobre un código de error SQL. Pues bien, para no dar tantas vueltas cada vez que necesito ver un pdf de Monitoreo o la configuración HADR, por ejemplo, voy a dejar aquí el link hacia el sitio central de la documentación DB2. Solo es cuestión de elegir la versión con la que estoy trabajando actualmente:

Documentación IBM DB2

Anuncios

Miércoles, diciembre 12, 2007

Aplicaciones Web en Netbeans con DB2

Filed under: db2, glassfish, java, netbeans, web — Etiquetas: , , , , , , — vramirez @ 12:11 PM

Desde el primer RC (release Candidate), incluso desde las versiones Beta, ya le venia “siguiendo el rastro” a la salida de NetBeans 6.0. Sus ejemplo, funciones y características que sin duda lo convertirán, a corto plazo, en un poderoso y múltiple entorno. Aunque orientado a Java principalmente, no es lo único que ofrece, ya que cuenta con diferentes módulos y plugins para trabajar con otros lenguajes (Ruby, PHP, C/C++, etc). Volviendo al tema razón de ser de este artículo, desde las primeras versiones de Netbeans 6 intenté hacer una aplicación web sencilla que a través de un componente visual (JSF), una tabla en este caso, pudiera visualizar elementos de una tabla en DB2. Sin embargo nunca (hasta ahora) habia podido hacerlo correctamente. Al desplegar la aplicación obtenía resultados extraños. En las primeras versiones, al parecer los drivers JDBC de DB2 no estaban soportados por la herramienta cosa que por suerte ha cambiado. Sin embargo , un error aún salía en los logs del servidor, al parecer la libreria db2jcct2.dll es necesaria para compltar satisfactoriamente la conexión y no se incluye en los jars JDBC de DB2. La razón para utilizar DB2 es que es una base de datos robusta, que dia a dia ofrece grandes beneficios en aspectos como seguridad, rapidez y alta disponibilidad, y aún más; posee una versión gratis, denominada DB2 Express, la cual actualmente marcha por la versión 9.5, que como lo indica en su página. No tiene límites (procesadores, memoria..etc), solo los datos (tu espacio en disco duro). A continuación explicaré, como conectar satisfactoriamente DB2 con Netbeans 6:
Primero creamos la conexión con DB2 desde Netbeans 6.0. Netbeans a diferencia de Java Studio Creator se ha desatado de la función embebida de traer los drivers y realizar todas las tareas requeridas para conectarse correctamente. Es un poco más complicado pero permite tener mayor control sobre la aplicación ya que podemos escoger a nuestro gusto o necesidad los componentes del driver.
1. Asegurarse de que la base de datos esté arriba.
2. Creamos un nuevo proyecto Web en Netbeans utilizando el framework “Visual Web Java Server Faces”. (yo lo denominé: WebTest1).
3. Dentro de Netbeans en la pestaña que dice Services: DataBases – > Drivers, Haga click derecho en la palabra Driver —
> New Driver…

4. A continuación se abre un cuadro de diálogo:



5. Le damos click en “add” (Agregar) y escogemos los 2 archivos drivers jdbc.

DB2 utiliza los archivos db2jcc.jar y db2jcc_license_cu.jar para conectar cualquier aplicacion JDBC. Cabe resaltar que desde la version 9 de DB2, también está disponible un tercer archivo llamado db2jcc4.jar el cual incluye las funcionalidades de JDBC 4.0 y su antecesor (JDBC 3.0). IBM recomienda no utilizar db2jcc y db2jcc4 juntos, es decir son disyuntivos. Los archivos se encuentran en el directorio SQLLIBJava de la carpeta de IBM que se escogió para la instalación de DB2. En mi caso queda el driver queda conformado asi:


El nombre lo genera Netbeans, de acuerdo con la información que obtiene de los jar’s, aunque se puede personalizar para identificarlo mejor. Lo importante es que en el campo “Driver Class” este la clase com.ibm.db2.jcc.DB2Driver, sino está le damos “Find” y Netbeans buscará dentro de el (los) jar(s) que le hayamos dado nosotros y nos mostrará en “Driver Class” una lista de las posibles clases que podemos utilizar dependiendo del driver.

Luego de dar OK, y ya tenemos configurado el driver de DB2 con netbenas. Sin embargo no tenemos aún una conexión real con la base de datos. Digamos que ya armamos el barco, falta remar hasta la otra orilla. En la lista de drivers ya aparece el nuevo, ahora nos conectamos a la base de datos.


6. Damos click derecho sobre el y seleccionamos “Connect Using”, se abre un nuevo cuadro de diálogo en que nos pide la forma de conectarnos a la base de datos host o direccion IP, puerto y nombre de la base de datos, además del usuario y contraseña que tengamos. Luego de digitar estos datos, nos vamos a la ficha “Advanced” y damos click en Get Schemas y seleccionamos el esquema en que se encuentran las tablas. En mi caso el esquema se llama ” y “SCH”.


Ahora si damos click en “OK”, y observamos que en el nodo Databases aparece nuestra nueva conexion:

7. Abrimos la pagina .jsp del proyecto llamada Page1.jsp, y nos ponemos en vista de diseño. Estando ahi seleccionamos de la paleta de JSF una tabla y la arrastramos hasta la pagina page1.jsp.


8. Abrimos el nodo de nuestra conexion y estamos en un ambiente parecido al de nuestra base de datos, donde observamos las tablas, vistas y procedimientos (si disponemos de ellos en nuestra base de datos)

9. Selecionamos la tabla (en mi caso TABLE1) y la arrastramos de igual forma hasta la pagina. Netbeans automaticamente craerá un rowset en el SessionBean1 (si no existe) y un Cachedrowsetdataprovider generado asi nombre_de_tabladataprovider.

10. Aún en la vista de sieño, nos vamos a la tabla JSF y hacemos click dercho->bind to data, seleccionamos el dataprovider de la tabla, que acabamos de agregar a la pagina y de igual forma las columnas de la tabla en DB2, que queremos visualizar:



En mi caso, mi tabla solo tiene 2 campos un entero de nombre CODIGO y un varchar de nombre TEXTO. Depues de dar click en OK, nos queda la tabla parecida a esta:



Normalmente seria solo darle “Run” y esperar que salga la tabla, pero me he dado cuenta que no es asi. Si le damos ejecutar inmediatamente en Mozilla sale la página en blanco, ientras que en explorer sale algo de código html referente a la tabla JSF. Al revisar los logs de Glassfish osbervé constantemente este mensaje:

com.ibm.db2.jcc.b.SqlException: [jcc][10389][12245][3.50.152] Failure in loading native library db2jcct2, java.lang.UnsatisfiedLinkError: no db2jcct2 in java.library.path: ERRORCODE=-4472, SQLSTATE=null

y a continuación de el un stack trace espantoso. Resulta que los señores de IBM requieren otro archivo para conectarse (oootro?? si, otro…). existe una libreria nativa de DB2 llamada db2jcct2.dll que es necesaria de incluir. Vamos a la carpeta de IBM donde instalamos DB2 (ojo, no donde reside la base de datos). En mi caso dicho archivo se encontraba en: C:Archivos de programaIBMSQLLIBBIN, simplemente lo copiamos a la carpeta “lib” del servidor ubicada en C:Archivos de programaglassfish-v2lib.
Nota: Si tu servidor estaba iniciado es necesario que lo reinicies despues de copiar el archivo.

bon despliegue!!! :D


Crea un blog o un sitio web gratuitos con WordPress.com.