lunes, febrero 11, 2013

Como construir el url jdbc para una BD DB2-AS/400

La base de datos relacional AS/400 tiene sus peculiaridades, a diferencia de otras BD que se instalan sobre un sistema operativo en el servidor o ambiente, DB2-AS/400 viene integrada con este. El sistema es conocido como OS400, iSeries, i5 o simplemente AS/400. Al estar integrada la BD almacena la informacion directamente en el sistema de archivos, una tabla es un archivo fisico, una vista es un archivo logico, un esquema es una libreria, etc.

Estos detalles hacen que los url de conexion cuando usamos JDBC tengan su sintaxis especifica, por ejemplo si queremos que el datasource se conecte a un esquema por default la sintaxis es la siguiente:

jdbc:as400:<host>:naming=sql;libraries=<lib1>,<lib2>,...

Al especificar naming=sql se indica que se usaran "." para separar los nombres de los objetos, si se utiliza naming=system entonces se debera utilizar "/" para separar los nombres de objetos.

El url anterior tomara la primera libreria como el esquema por default, ignorando los demas para la busqueda de objectos (tablas, vistas, etc), si lo que se desea es usar varias librerias a la vez se tiene que usar un url como el siguiente:

jdbc:as400:<host>:naming=sql;libraries=,<lib1>,<lib2>,...

Es importante la coma al inicio de libraries, esto indica que no hay una libreria por default y cargara todas las librerias en la conexion.

Otra forma es utilizar un wildcard de la siguiente manera:

jdbc:as400:<host>:naming=sql;libraries=*LIBL,<lib1>,<lib2>,... 

A diferencia del anterior, este ultimo tomara como default schema la segunda en la lista en este caso lib1, pero a la vez cargara las demas librerias en la conexion.

Espero que sea de utilidad :)