Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > DB2
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-11-2014
probles2 probles2 is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
probles2 Va por buen camino
Problema con FireDAC y DB2

Hola:
He preparado un programa con XE7 que tiene unos componentes FireDAC para acceder a bases de datos de IBM DB2 (FDPhysDB2DriverLink, FDConnection, FDQuery...) Compila bien y accedo a los datos sin ningún problema desde mi ordenador, pero si este mismo programa lo llevo a otros ordenadores me muestra el siguiente error al intentar ejecutarlo:
- [FireDAC][Phys][ODBC][Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado.

En mi ordenador tengo instalado el Client Access de IBM, y en los ordenadores que lo tienen también funciona, pero en los que no tienen el Client Access no consigo que funcione. Creo que el problema es que no tienen la DLL necesaria. Lo he intentado poniéndoles cwbodbc.dll en Windows/System32, pero no funciona y tampoco me deja registrar esa DLL.

Mi duda es: Si FireDAC ofrece acceso nativo a DB2 no debería ser necesario instalar Client Access de IBM ¿no?.

Gracias por su atención.
Saludos:
Pablo.
Responder Con Cita
  #2  
Antiguo 19-11-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por probles2 Ver Mensaje
Mi duda es: Si FireDAC ofrece acceso nativo a DB2 no debería ser necesario instalar Client Access de IBM ¿no?.
Creo que "ofrecer" acceso nativo significa que utiliza las librerías nativas de cada sistema al que accede y no acceso por ODBC (por ejemplo).
Pero no significa que FIREDAC deba acceder a cualquier sistema sin necesidad de ningún fichero. Cosa que sería imposible prácticamente porque la mayoría son sistema propietarios y cerrados, por lo tanto el acceso sería prácticamente imposible.

Es una "reflexión". Si no es así que alguien me corrija.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 19-11-2014 a las 11:42:38.
Responder Con Cita
  #3  
Antiguo 19-11-2014
probles2 probles2 is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
probles2 Va por buen camino
Gracias Neftali por tu respuesta. Yo tenía una idea equivocada de lo que significa "acceso nativo".

Mi problema es que no sé que es exactamente lo que necesito para hacer que funcione mi programa en ordenadores que no tengan instalado el Client Access de IBM, y no tenemos posibilidad de instalarselo ya que no son ordenadores propios.

¿Alguien tiene alguna experiencia con programas que utilicen FireDAC contra DB2 en ordenadores sin Client Access?.

Gracias por vuestra atención...

Saludos:

Pablo.
Responder Con Cita
  #4  
Antiguo 19-11-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Creo que aquí tienes la explicación completa.
Revisa esa documentación.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 19-11-2014
probles2 probles2 is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
probles2 Va por buen camino
Gracias de nuevo por tu aportación Neftali, pero ya había visitado esa página y había hecho pruebas bajándome los drivers que aconseja IBM (ibm_data_server_driver_for_odbc_cli_win32_v10.5.zip).

Después de descomprimir se queda todo en un directorio "clidriver", y dentro hay un directorio "bin" donde se encuentra el ejecutable db2oreg1.exe, que es el que indica en esa página que hay que ejecutar para instalar los drivers ODBC, que yo supongo que sirve para registrar los DLL necesarios, pero despues de ejecutarlo no sale nada, y al intentar ejecutar de nuevo mi programa me sigue saliendo: [FireDAC][Phys][ODBC][Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado.


Supongo que algo no estoy haciendo bien, pero es que creo que me falta copiar o registrar algún DLL que no lo está haciendo el ejecutable que me bajé de esa pagina.

Gracias de nuevo Neftali.
Saludos:
Pablo.
Responder Con Cita
  #6  
Antiguo 19-11-2014
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
Si tu base de datos es DB2/400 requieres Client Access en los equipos clientes, no hay de otra, a menos que hagas un desarrollo de tres capas y utilices datasnap o algo similar.
Responder Con Cita
  #7  
Antiguo 19-11-2014
probles2 probles2 is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
probles2 Va por buen camino
Gracias orodriguezca, me lo temía, va a resultar que el "acceso nativo" no es tan maravilloso como me las prometía...

Saludos:
Pablo.
Responder Con Cita
  #8  
Antiguo 19-11-2014
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
No hay que agregar el driver en Deployment? Proyect -> Deployment -> Add featured files (la carpetita con el signo +) y tildarle el driver de DB2??
Responder Con Cita
  #9  
Antiguo 19-11-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En la página que te he pasado dice que el driver nativo es sólo para algunas versiones. Para el resto (más antiguas) hay que utilizar ODBC.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #10  
Antiguo 20-11-2014
probles2 probles2 is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
probles2 Va por buen camino
Hola:
He probado la solución que aportaba AgustinOrtu, pero al acceder a la opción "Add featured files" solo aparecen drivers de dbExpress, en concreto el DBExpress DB2 Driver (dbxdb2.dll), y no aparece ninguno de FireDAC. No obstante he probado añadiendo esta dll pero no ha funcionado. Gracias de todas formas AgustinOrtu.

En cuanto a lo que me apunta Neftali sobre las versiones anteriores que deben utilizar ODBC en lugar del driver nativo, no es mi caso, ya que yo utilizo la versión XE7 que si que tiene este driver nativo. Gracias Netftali.

Saludos:
Pablo.
Responder Con Cita
  #11  
Antiguo 20-11-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por probles2 Ver Mensaje
En cuanto a lo que me apunta Neftali sobre las versiones anteriores que deben utilizar ODBC en lugar del driver nativo, no es mi caso, ya que yo utilizo la versión XE7 que si que tiene este driver nativo. Gracias Netftali.
Me refería a la versión del SGBD no de Delphi.


Cita:
The FireDAC native driver supports IBM DB2 Enterprise, Workgroup, or Express editions version 8 and later. We recommend v 8.2 at least. You can also work with other IBM database products using FireDAC ODBC or DBX Bridge drivers.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #12  
Antiguo 20-11-2014
probles2 probles2 is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
probles2 Va por buen camino
Perdona Neftali, no me había dado cuenta de a qué te referías, ya me extrañaba que volvieses a mencionar la versión de Delphi, que ya la había comentado en el primer post.

En cuanto a las versiones que citas del DB2, entiendo que son las de Windows (Enterprise, Workgroup, Express), y nosotros estamos accediendo a bases de datos DB2 de equipos IBM As400 (que vienen con el sistema), asi que no creo que se pueda aplicar esa restricción.

Gracias de todas formas Neftali, era una restricción que se me había pasado por alto, aunque no se aplique.

Saludos:
Pablo.
Responder Con Cita
  #13  
Antiguo 20-11-2014
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
Cita:
Empezado por probles2 Ver Mensaje
Gracias orodriguezca, me lo temía, va a resultar que el "acceso nativo" no es tan maravilloso como me las prometía...
La ventaja del acceso nativo, cuando está disponible, es que nuestra aplicación no va a necesitar de intermediarios como ODBC y OLE DB para interactuar con las librerías clientes del SGBD. FireDAC tiene soporte nativo para los SGDB más populares y db2/400 (diferente a db2 para Windows/Linux) no es muy popular que digamos.
Responder Con Cita
  #14  
Antiguo 21-11-2014
probles2 probles2 is offline
Miembro
 
Registrado: abr 2006
Posts: 13
Poder: 0
probles2 Va por buen camino
La conclusión a la que llegas, orodriguezca, me parece muy acertada. Parece que el acceso nativo solo está disponible para DB2 de Windows/Linux, y no para el DB2 de As400 para el que hay que seguir usando ODBC.
No veo otra solución que instalar Client Access de IBM en cada ordenador, a no ser a que a alguien se le ocurra algo más.
Gracias a todos por vuestras aportaciones.
Saludos:
Pablo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Uso de Firedac jafera Conexión con bases de datos 2 12-11-2014 13:46:25
Problema con FireDac darkamerico Conexión con bases de datos 2 04-11-2014 15:05:16
FireDac y Access glsaavedra Conexión con bases de datos 2 28-05-2014 00:09:15
Firedac Aldo Conexión con bases de datos 2 16-12-2013 23:26:07
Rad Studio XE4 y FireDAC XE4 jlrbotella La Taberna 3 25-04-2013 01:51:15


La franja horaria es GMT +2. Ahora son las 01:47:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi