Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Conectar a db2

Estas en el tema de Conectar a db2 en el foro de Bases de Datos General en Foros del Web. Buen dia amigos, Necesito realizar la conexion a una base de datos DB2 desde PHP, si algunos han trabajado con AS400 veran que se trabaja ...
  #1 (permalink)  
Antiguo 24/11/2010, 08:35
 
Fecha de Ingreso: noviembre-2010
Mensajes: 6
Antigüedad: 13 años, 5 meses
Puntos: 0
Conectar a db2

Buen dia amigos,
Necesito realizar la conexion a una base de datos DB2 desde PHP, si algunos han trabajado con AS400 veran que se trabaja con BIBLIOTECAS, algunas son de archivos, otras de programas, etc. El tema es que necesito hacer la conexion al DB2 pero revisando algunos articulos veo que necesito el nombre de la base de datos pero no se como poder obtener el nombre de la misma ya que como les comento los archivos propiamente de la aplicacion estan dentro de una biblioteca. La base de datos esta ubicada en un equipo remoto.

Si alguien pudiera apoyarme con el tema lo agradeceria sobremanera.

Saludos
  #2 (permalink)  
Antiguo 08/12/2010, 01:06
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Respuesta: Conectar a db2

Yo trabajo con iSeries (llamado AS400 anteriormente), en efecto DB2 tiene lo que se conoce como NOMBRE DE BASE DE DATOS, asi como bibliotecas, pero en realidad, al realizar una conexion x default te conecta a la "DATABASE", no he visto un cliente que genere una "database" con diferente nombre a la de default (q no recuerdo el nombre), asi que no necesitas realizar una conexion especifica con el nombre de la base de datos.

Unicamente requieres la "IP" del iSeries para realizar la conexion (ademas del usuario y pwd de acceso).

Las bibliotecas son "contenedores" de informacion que puede ser: a) Programas b) datos (en tablas e indices), por hacer una analogia, las bibliotecas son como las carpetas en windows, de hecho, si te conectas con un explorador como iSeries Navigator desde windows, la representacion de las bibliotecas es exactamente la de una carpeta.

Con la diferencia que una biblioteca no puede contener a otra biblioteca.

Dentro de las bibliotecas entonces se encuentras los "archivos", que son siempre archivos de datos, pero la diferencia radica en que algunos de esos archivos contienen los "programas fuente" y otros archivos contienen los datos (o las tablas)

Asi, para acceder a una tabla imaginaria de empleados x SQL a DB2, luego de hacer la conexion seria algo como:
"SELECT * FROM nombre_de_biblioteca/empleados"
o bien
"SELECT * FROM nombre_de_biblioteca.empleados"

(la nomenclatura difiere en cuanto a como este configurado algo en el acceso, pero puedes probar de las 2 maneras).

Podrias tambien recuperar algo como:
"SELECT * FROM empleados"
en este caso no se especifica la biblioteca, asi que es forzoso que dicha tabla este en la LISTA DE BIBLIOTECAS que tiene asignado el usuario y pwd con que te conectas ("user profile" se llama al usuario de conexion en iSeries"

Llendonos al caso mas extremo, te decia que los archivos pueden contener programas fuente o codigo de programacion, normalmente en iSeries se programa con el lenguaje RPG, el cual se coloca dentro de un archivo (normalmente algo como QRPGLESRC) dentro de una biblioteca, asi, puedes incluso recuperar el codigo fuente de un programa especifico con algo como:

SELECT * FROM NOMINASRC/QRPGLESRC/ALTAEMPLEADOS
o
SELECT * FROM NOMINASRC/QRPGLESRC(ALTAEMPLEADOS)

no es algo util, pero te permite visualizar que tambien los programas RPG se manejan como tablas dentro de las bibliotecas (en este caso, "ALTAEMPLEADOS" es un "miembro fuente" o programa escrito en RPG dentro de la biblioteca NOMINASRC

Para el caso de tu proyecto, es forzoso que tu cliente o el administrador de iSeries te de el NOMBRE DE LA BIBLIOTECA donde estan tus tablas, o bien que te garantice que el usuario y pwd con que te conectas (user profile) tenga en su "lista de bibliotecas" aquella donde estan tus datos.

Etiquetas: bases-de-datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:21.