FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
Cita:
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 10:42:38. |
#3
|
|||
|
|||
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. |
#4
|
||||
|
||||
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. |
#5
|
|||
|
|||
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. |
#6
|
|||
|
|||
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.
|
#7
|
|||
|
|||
Gracias orodriguezca, me lo temía, va a resultar que el "acceso nativo" no es tan maravilloso como me las prometía...
Saludos: Pablo. |
#8
|
||||
|
||||
No hay que agregar el driver en Deployment? Proyect -> Deployment -> Add featured files (la carpetita con el signo +) y tildarle el driver de DB2??
|
#9
|
||||
|
||||
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. |
#10
|
|||
|
|||
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. |
#11
|
||||
|
||||
Cita:
Cita:
__________________
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. |
#12
|
|||
|
|||
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. |
#13
|
|||
|
|||
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.
|
#14
|
|||
|
|||
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. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Uso de Firedac | jafera | Conexión con bases de datos | 2 | 12-11-2014 12:46:25 |
Problema con FireDac | darkamerico | Conexión con bases de datos | 2 | 04-11-2014 14:05:16 |
FireDac y Access | glsaavedra | Conexión con bases de datos | 2 | 27-05-2014 23:09:15 |
Firedac | Aldo | Conexión con bases de datos | 2 | 16-12-2013 22:26:07 |
Rad Studio XE4 y FireDAC XE4 | jlrbotella | La Taberna | 3 | 25-04-2013 00:51:15 |
|