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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 3 Semanas
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 438
Poder: 20
JoAnCa Va por buen camino
Como usar Firebird con delphi xe7

Hola a todos
Necesito usar una BD portable para mi aplicacion, probé con SQLite y me da problemas, pues se necesita escritura concurrente, y tambien da problemas con el formato de fechas.
Decidi usar Firebird que no dede dar problemas con la escritura concurrente, pero nunca lo he usado, por eso necesito 2 cosas:

1- Que version debo instalar, no encuentro la embebida despues de la 3

2- como ya tengo la BD en MySQL, quisiera migrarla a Firebird, para no tener que crear todas las tablas de nuevo
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes
Responder Con Cita
  #2  
Antiguo Hace 3 Semanas
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Seguramente esto te aclara un poco las cosas:
https://www.ibphoenix.com/files/Embedded_fb3.pdf


En cuanto a los problemas con sqlite, yo lo uso en aplicaciones android desde hace 13 años y no he tenido ningún problema con las fechas.
En cuanto a la "escritura asíncrona", no sé exactamente a qué te refieres, ¿que mantenga los datos en caché antes de guardarlos definitivamente?
Responder Con Cita
  #3  
Antiguo Hace 3 Semanas
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 438
Poder: 20
JoAnCa Va por buen camino
pues sobre los problemas de sqlite, te comento:
la aplicacion cada cierto tiempo verifica si hay conexion a internet, y sincroniza la bd local con la remota, insertando o modificando los registros en sqlite.
lo usuarios de la aplicacion escriben en la bd sqlite.
Problema: cuando coincide que el usuario va a guardar un registro en el momento que esta sincronizando, la aplicacion explota porque no puede accedera la BD

Lo de las fechas, quizas se resuelva por codigo, pero cuando se ejecuta en otra pc que tiene una configuracion regional diferente, salta el error de formato de fecha no valido

por eso quiero cambiar de bd local a firebird o IB, o a la que me recomienden
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes
Responder Con Cita
  #4  
Antiguo Hace 3 Semanas
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pero esos no son fallos de sqlite, es que no lo estás usando adecuadamente, primero debes crear la base de datos con:
PRAGMA journal_mode=WAL;

Lo del formato de la fecha, obviamente, tienes que controlarlo tú, así será con todas las bases de datos, ya sea firebird, sqlite, postgesql, mssql, etc. si han guardado fechas de forma distinta tendrás que adaptarla.
Te recomiendo una forma más simple de guardar las fechas y te quitas de problemas, guárdalas como un número (long) con el formato, ejemplo: 202504021923 (aaaammddhhnnss), se acabó el problema.
Además recuerda guardar siempre la fecha/hora UTC, no la local, así siempre estarán todas las fechas/horas sincronizadas.

En cuanto a firebird "embebida", ten cuidado porque la DLL embebida no permite múltiples procesos conectados al mismo tiempo a la base de datos y no soporta acceso multi-proceso, aunque sí multi-thread dentro del mismo proceso (con precaución).Y que yo sepa tampoco es multiusuario.
Si vas a usar firebird, instala un servidor.
Responder Con Cita
  #5  
Antiguo Hace 3 Semanas
Avatar de JoAnCa
JoAnCa JoAnCa is offline
Miembro
 
Registrado: jul 2005
Ubicación: Cuba
Posts: 438
Poder: 20
JoAnCa Va por buen camino
Por el momento sigo usando sqlite, para evitar el problema de la concurrencia, alargaron el tiempo de sincronizacion.
El problema es que la conexion a internet es muy inestable, y falla mucho, por eso se necesita guardar los datos local, y cuando se detecte conexion a internet, entonces sincronizar con la bd remota

Quizas me haya faltado eso: PRAGMA journal_mode=WAL;

Ya resolvi lo de la fecha, convirtiendo siempre al formato estandar UTC
__________________
La hora de acción no es hora de aprender, es necesario haber aprendido antes
Responder Con Cita
  #6  
Antiguo Hace 3 Semanas
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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
Alguien sabe como usar la Función Rand() en firebird DANNY777 Firebird e Interbase 2 26-01-2008 16:19:17
Como usar un .h en delphi 7 juanpe Varios 2 10-09-2007 19:18:53
se puede usar firebird con delphi Petolansa Firebird e Interbase 4 27-06-2006 03:20:22
Como usar una lib de C en delphi? Alfredo OOP 4 11-03-2005 20:05:36
Como usar ibconsole con firebird? El_Perrito Firebird e Interbase 3 21-01-2004 20:04:05


La franja horaria es GMT +2. Ahora son las 11:54:55.


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