database - ¿Qué base de datos incrustada tiene el máximo cumplimiento con SQL y soporte de simultaneidad?
sqlite firebird (6)
Creo que es Firebird .
¡Incluso los Cte''s son compatibles con Firebird 2.1!
Firebird funciona en Windows, Linux, Mac OS ...
Controlador Jaybird para Java.
Hay algunas buenas herramientas de migración de Access to Firebird:
- IBDatapump
- Convertidor de base de datos Microsoft Access to Firebird ( MDB2FDB )
Mi aplicación actualmente usa Microsoft Access, pero ahora puede estar alojada en Linux boxes. Además, al acceder desde varias computadoras, una de ellas puede actualizar los registros (cuando otros usuarios la leen).
También requiero que la base de datos incrustada sea compatible con consultas SQL complejas, como SQL interno, uniones, etc.
Intenté SQLite , pero muchas de las consultas existentes fallan, o necesitan ser corregidas (como en una consulta simple usando la combinación interna, los paréntesis después de que FROM no era aceptable para SQLite, y tuvieron que ser eliminados). La unión correcta también no es compatible.
Llegué a conocer Apache Derby y H2 , pero primero preferiría tu valiosa opinión.
Editar:
Olvidé mencionar que mi aplicación está completamente escrita en Java.
Editar:
En el preajuste utilizo Microsoft Access mdb, compartido en la unidad de red, haciendo una conexión sin DSN desde computadoras remotas.
Actualizar
Hice pruebas con Firebird, y realmente parece muy bueno, cero administrador y compatible con SQL. Es rápido y no tuve problemas en ninguna de las consultas típicas que pude probar. Estoy muy satisfecho con esto, y con suerte lo usaré para el proyecto para el que planteé esta pregunta.
Afortunadamente, Advantage Server también será bueno, pero no pudo tener tiempo para revisarlo. Después de revisar / usar Firebird, no sienta la necesidad de probar nada más.
Echaré un vistazo al servidor de base de datos de Advantage (sybase.com). Se ejecuta en Windows, Linux y NetWare . Tenemos una aplicación comercial de contabilidad / gestión de proyectos para la industria de la construcción y cambiamos a Advantage hace 6 o 7 años. Estamos extremadamente contentos con el rendimiento y el soporte. Los clientes también están muy contentos.
Esto podría ser útil en su investigación: Comparación de sistemas de administración de bases de datos relacionales .
Personalmente, le sugiero que eche un vistazo serio a Firebird. Es multiplataforma, tiene un proveedor .NET nativo y admite las combinaciones que mencionas.
Nuestra compañía también usa Advantage. Vinimos desde un fondo de XBase , pero desde entonces hemos adoptado su naturaleza SQL. Se ejecuta en muchas plataformas (Windows, Linux, NetWare) y tiene un conjunto de controladores (PHP, ADO, JDBC, ODBC, Crystal) para que funcione en casi cualquier entorno en el que pueda programar.
Firebird es la base de datos integrada más "comptable a SQL". El motor de la versión integrada es el mismo que la edición del servidor.
Preste atención que con Firebird incrustado, solo un cliente a la vez puede conectarse a la base de datos, por lo que puede abarcar múltiples conexiones desde el mismo proceso pero no conectarse desde diferentes procesos. Este problema está solucionado en Firebird 2.5 y superior.
Puede encontrar una descripción bastante detallada del cumplimiento de las normas SQL de Derby aquí: http://wiki.apache.org/db-derby/SQLvsDerbyFeatures