PDA

Ver la Versión Completa : Acceso concurrente a SQLite3 como habilitar


fide_uci
19-01-2012, 16:47:51
Hola amigos de clubdelphi. Necesito tener acceso concurrente a una BD con SQLite3 y la verdad no c como hacerlo. Se que mediante opciones de configuracion esto se le especifica, pero no c ahora como seria eso. Utilizo ZeosDB 7 y Sqlite 3 con Delphi 7. Gracias desde ya.

rretamar
19-01-2012, 17:16:18
Se puede tener acceso concurrente, pero al igual que Firebird Embebido, cuando un usuario está escribiendo el archivo completo se bloquea. No es un motor apto para el trabajo multiusuario, salvo que sea únicamente para accesos simultáneos de sólo-lectura.

Si se desea tener acceso concurrente lo mejor es buscar un motor SQL que sí lo permita, como FIREBIRD.

rretamar
20-01-2012, 14:20:36
un post antiguo donde escribí casi lo mismo :p

Un detalle importantísimo a tener en cuenta a la hora de decidir si se puede usar SQLite o no es el siguiente: SQLite tiene la filosofía de "uno escribe, muchos leen". Cuando se está escribiendo en la base de datos (aunque sea durante pocos milisegundos) el archivo completo se bloquea. Por ende se permite una única escritura por vez. Si esto no es un impedimento, adelante. De lo contrario, es mejor ir directamente a una solución sin estos inconvenientes, como Firebird.

SQlite es apto para uso:

* Monousuario, preferentemente.
* Monopuesto (en parte por el punto anterior).

Saludos !

fide_uci
20-01-2012, 15:33:17
Ho wow muchas gracias por la informacion. De todas formas yalogre solucionar mas menos el problema metiendo el acceso a la BD en una seccion critica para evitar que varios hilos accedan a ella de forma concurrente.