Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-06-2024
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 209
Poder: 18
alquimista Va por buen camino
Error al conectar Base Datos FIREDAC Access en otro ordenador

He hecho un app para Windows 64 bits que maneja una base de datos hecha en Access (bd.mdb) sin acceso remoto, es decir en local,y funciona a la perfección en el ordenador donde uso la versión Delphi Community 11.3.
He elegido FireDAC sobre Microsoft Access, tengo un módulo de base de datos y uso la cadena de conexión:
Código:
with dbFCT do begin
     Params.DriverID:= 'MSAcc';
     Params.Database:= 'ruta de la base de datos';
No tiene ni password ni usuario ni nada especial.


En el ordenador de Delphi funciona dentro y fuera del IDE, sin ningún tipo de problemas.Añado registros, borro, creo, actualizo y todo OK.



El problema es al portarlo a otro PC. He puesto que si no encuentra la BD que te de opción de busqueda en cualquier carpeta, etc..



He instalado ODBC de Access 64 bits para 2016, luego el de office 365 por probar otro driver pero no me funciona en otros ordenadores limpios.


El error debe de ser al buscar el driver adecuado me imagino, he intentado poner messagebox para localizar el posible error justo al abrir la bd, pero no llega ahí el programa. Me sale el siguiente error:


Exception EMSAccessNativeException in module xxxxxxxxxxxx at 0000000945257
[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.


Y luego dos o tres excepciones más y termina la aplicación.


No he encontrado drivers de FireDAC para equipos por separado.
Y me estoy volviendo loco. Se lo justo de BD.

He puesto en el proyecto que incluya los runtimes packages o como se diga..


He buscado y no encuentro nada que pueda arreglarlo.
Responder Con Cita
  #2  
Antiguo 29-06-2024
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 297
Poder: 9
manelb Va por buen camino
Yo he tenido problemas en algunas ocasiones con las conexiones a Acces y Excel con Firedac y este el el único driver que me funciona.

Lo he intentado con otros mas nuevos y actualizados pero este es el único que me ha funcionado siempre.

Por probar que no quede...

Supongo que no habrá problema en pasar el enlace por aquí


Un saludo a todos
Responder Con Cita
  #3  
Antiguo 01-07-2024
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.874
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
Por lo que parece estás accediendo utilizando ODBC.
Un par de cosas:
1) Intentaría acceder con el driver nativo, en lugar de con ODBC. Obtendrás mayor velocidad.
2) Por otro lado, debes tener en el resto de ordenadores lo mismo que tienes en el ordenador de desarrollo. Si usas con ODBC, deberás tener ese mismo driver en el resto de ordenadores. Si lo haces con el Driver nativo deberás instalar el motor Jet 4 en el resto de equipos.

Aquí explica lo que tienes que instalar en la máquina cliente, según el driver que estés utilizando:
https://docwiki.embarcadero.com/RADS...base_(FireDAC))
__________________
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: 01-07-2024 a las 11:54:04.
Responder Con Cita
  #4  
Antiguo 01-07-2024
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 209
Poder: 18
alquimista Va por buen camino
En enlace que me pasas pone esto:
"There is currently no text in this page. You can search for this page title in other pages, or search the related logs, but you do not have permission to" create this page."

He buscado y es la página que miré...y ponía que se añadiera el enlace al driver físico añadiendo el componente FDPhysMSAccessDriverLink (¿esto se refiere a driver nativo?), donde aparecen opciones de ODBC. probando sigue sin solucionarse. Cambia el mensaje primero por otro Temporary key...
¿El Jet4 que dices son los drivers de Acces runtime?
Me falta probar el driver de manel en una máquina virtual, se me estropeó la anterior de pruebas.

Gracias por las respuestas.

Última edición por alquimista fecha: 01-07-2024 a las 11:39:27.
Responder Con Cita
  #5  
Antiguo 01-07-2024
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.874
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 alquimista Ver Mensaje
En enlace que me pasas pone esto:
"There is currently no text in this page. You can search for this page title in other pages, or search the related logs, but you do not have permission to" create this page."
Corregido el link; Lo había copiado mal.

Cita:
Empezado por alquimista Ver Mensaje
¿El Jet4 que dices son los drivers de Acces runtime?
Me falta probar el driver de manel en una máquina virtual, se me estropeó la anterior de pruebas.
Supongo que si.
MS Access es una aplicación de microsoft, que en realidad usa el motor de Base de Datos Jet 4.
Necesitas instalar los drivers de Jet 4 para poder utilizar ficheros MDB.
__________________
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
  #6  
Antiguo 02-07-2024
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 209
Poder: 18
alquimista Va por buen camino
Smile

He instalado los drivers de Access pero sigue sin ir.
Lo de modo nativo no entiendo como hacerlo funcionar.
En la información sobre la base de datos parece indicar que FireDAC va sobre ODBC.
Usando el componente FDPhysMSAccessDriverLink no pongo info realtiva a ODCB pero si a MSAcc que es el DriverID. Funciona en el pc de delphi 11, pero sigue sin ir en otros pcs.

Primero probé en un windows 10 Home y luego en un Pro. Ahora consigue acceder a la aplicación sin dar un error crítico que antes finalizaba el programa. Pero la BD sigue sin funcionar. Encima me aparece otro error ya que uso un componente de JvRichEdit (error en MSFTEDIT.DLL, ya me empiezo a bugear yo!! )


Trozo de la info de BD de FIREDAC.



Código:
DriverID=MSAcc
Pooled=False
================================
FireDAC info
================================
Tool = RAD Studio 11.0
FireDAC = 28.0.0 (Build 106147)
Platform = Windows 32 bit
Defines = FireDAC_NOLOCALE_META;FireDAC_MONITOR
================================
Client info
================================
Loading driver MSAcc ...
  Loading odbc32.dll driver manager
  Creating ODBC environment handle
  Searching for ODBC driver ...
    Checking for ODBC driver [Microsoft Access Driver (*.mdb, *.accdb)] ...
    Checking for ODBC driver [Microsoft Access Driver (*.mdb)] ...
      Found [Microsoft Access Driver (*.mdb)]
Driver Manager version = 03.81.19041.0000
================================
Session info
================================
Current catalog = 
Current schema = 
Driver name = odbcjt32.dll
Driver version = 10.00.19041
Driver conformance = 3
DBMS name = ACCESS
DBMS version = 04.00.0000
Responder Con Cita
  #7  
Antiguo 03-07-2024
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 209
Poder: 18
alquimista Va por buen camino
He usado access por la comodidad de hacer la base de datos.
Si me sigue dando problemas con lo drivers ODBC, que bd me podéis recomendar donde no tenga problemas con los drivers y no sea neceario instalar controladores especiales, etc... y que por lo menos me sirvan los querys SQL que estoy usando en FIREDAC. Me imagino que habrá programas que cambien de Access a otra base de datos.
La base de datos es local y solo es mantenida por mí y si la pudiera llevar en un pendrive mejor.
Responder Con Cita
  #8  
Antiguo 18-07-2024
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 209
Poder: 18
alquimista Va por buen camino
Solucionado

Por si sirve a otros.

He encontrado una solución pero no sé si es la correcta, ya que he instalado muchos drivers de Microsoft y varios runtimes.
Pero lo que he hecho es copiar en los ordenadores destino los archivos exe de FireDAC FDExplorer.exe, FDAdministrator.exe y FDMonitor.exe. Aunque he usado creo FCExplorer y como administrador he creado un archivo de definiciones de conexión con la ruta de la base de datos que ha guardado en la carpeta windows y parece que todo ha funcionado.


Con respecto al error de MSFTEDIT.DLL si ejecuto como administrador el programa se soluciona (era un editor de RTF).
Responder Con Cita
  #9  
Antiguo 19-07-2024
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.874
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 alquimista Ver Mensaje
He usado access por la comodidad de hacer la base de datos.

¿Y has probado a usar la Base de Datos MDB, con los componentes ADO?

Nada que configurar, simplemente la conexió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
  #10  
Antiguo 19-07-2024
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 209
Poder: 18
alquimista Va por buen camino
Pues no sé por qué pensaba que era mejor lo de FIREDAC en el nuevo delphi CE 11.3.

ADO no da problemas en otros equipos, con los drivers?
Se podría llevar la BD incluso en un portable?
Responder Con Cita
  #11  
Antiguo 19-07-2024
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.874
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 alquimista Ver Mensaje
Pues no sé por qué pensaba que era mejor lo de FIREDAC en el nuevo delphi CE 11.3.

ADO no da problemas en otros equipos, con los drivers?
Se podría llevar la BD incluso en un portable?
Se recomiendo usar FireDAC porque es una tecnología más nueva y más potente en algunos aspectos.
Pero ADO sigue funcionando muy bien. No suele tener problemas con drivers, porque el la mayoría de los Windows modernos ya vienen con el sistema.

Además, entre:
  • FireDAC + ODBC
  • ADO + Drivers nativos
No se decirte quien será más óptimo (habría que hacer pruebas).
Nosotros en nuestro sistema (que es grande) los usamos (ADO) y sigue funcionando muy bien.
__________________
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
Respuesta



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
Error al conectar un Adoconnection a una base de datos access con contraseña feliz-58 Conexión con bases de datos 3 08-12-2013 17:09:56
Conectar a una base de datos .mdb (access) grandmasterdari Conexión con bases de datos 4 11-11-2009 02:12:52
Cómo conectar a una base de datos de access usando el componente ADO titopana Varios 3 08-01-2009 16:48:45
Conectar un form a una base de datos de Access!!! jocey Conexión con bases de datos 5 11-07-2007 13:40:33
no me funciona mi base de datos en otro ordenador Cosgaya Varios 4 10-06-2005 11:00:56


La franja horaria es GMT +2. Ahora son las 06:43:19.


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