Experiencia con interfaz IBPP para base de datos Firebird

Experiencia con interfaz IBPP para base de datos Firebird


Me gustaría preguntarles a los chicos con experiencia en Firebird e IBPP (especialmente este último). Encontré muchas publicaciones positivas sobre Firebird, pero tengo un problema para decidir sobre IBPP. La interfaz en sí es limpia y simple, pero parece que el proyecto no tiene mucha actividad (tal vez porque es muy estable).



  • ¿Recomendaría IBPP para un entorno de producción?

  • ¿Es seguro para subprocesos?

  • ¿Algún error conocido?


Gracias.


Respuestas:


Además de los puntos que Milan mencionó:



  • Actualmente no hay forma de usar más de una biblioteca de cliente cuando se conecta a diferentes bases de datos, o incluso de especificar qué biblioteca de cliente se usará. Hay una determinada secuencia codificada de ubicaciones de bibliotecas cliente que se prueban, y la primera que se encuentre se usará para todas. conexiones Se ha insinuado durante mucho tiempo una versión de IBPP que cambie esto, pero aún no ha llegado. SVN trunk contiene algún código para lidiar con esto, pero diría que es calidad alfa como máximo.

    Y todo esto es cierto solo para Windows, ya que en todas las demás plataformas la biblioteca del cliente Firebird no se carga en tiempo de ejecución de todos modos.


  • La biblioteca no es segura para subprocesos. Eso no importa en su mayor parte, ya que debe permitir que cada subproceso tenga su propia conexión, transacción y otros objetos variados de todos modos. Pero IBPP usa su propia implementación de puntero inteligente, que no es completamente segura para excepciones ni para subprocesos. Aún así, siempre que inicialice la biblioteca desde el subproceso principal (antes de que se cree cualquier otro subproceso) y cree y destruya objetos IBPP en el mismo subproceso (¡así que absolutamente no se comparten objetos con otros subprocesos!), el uso de IBPP en varios subprocesos debería funcionar. bien.


  • Si puede vivir con los puntos anteriores (puede que no le importen en absoluto), ciertamente está listo para su uso en producción. Siempre puedes cambiar las cosas con las que te encuentras, como hicimos también con FlameRobin.