c++ - example - ¿Cuál es la mejor manera de comunicarse con un servidor MySQL?
mysql download (4)
Voy a usar C / C ++ y me gustaría saber la mejor manera de hablar con un servidor MySQL. ¿Debo usar la biblioteca que viene con la instalación del servidor? ¿Son buenas bibliotecas que debería considerar además del oficial?
Eso depende un poco de lo que quieres hacer.
En primer lugar, consulte las bibliotecas que brindan conectividad a más que en la plataforma DBMS. Por ejemplo, Qt hace que sea muy fácil conectarse a MySQL, MS SQL Server y un montón de otros, y cambiar el controlador de la base de datos (tipo de conexión) en tiempo de ejecución, con solo unas pocas líneas de código.
Las bibliotecas específicas de MySQL están bien, pero tenga en cuenta que se está encerrando en una sola implementación de DB. Si alguna vez necesita cambiar en el futuro, va a ser mucho trabajo, incluso si diseña su código de forma que el DB -específico está detrás de una fachada. ¿Por qué no utilizar una biblioteca que proporciona conectividad a múltiples plataformas y evitar los problemas?
OTL es una solución sólida de DBMS cruzada para C ++ que mi proyecto ha estado utilizando durante años. Lo usamos para hablar con SQL Server (a través de ODBC) y Oracle (a través de OCI). Es bastante fácil de manejar y viene con una gran cantidad de ejemplos en todas las bases de datos compatibles.
No hay nada de malo con las bibliotecas de clientes de MySQL. Si está dispuesto a conformarse con una funcionalidad reducida , puede comprar una portabilidad adicional utilizando ODBC, UDBC, apr_dbd o alguna otra biblioteca de abstracción de base de datos (como la OTL ya ofrecida).
Esto facilitará el cambio de un back-end, pero, como mencioné anteriormente, a costa de ofrecer menos funcionalidad en comparación con la del cliente nativo. Debido a que los proveedores de bases de datos difieren, las librerías de abstracción solo pueden ofrecer realmente las funciones comunes a todos (o la mayoría) de los back-ends. Ya sea que prefiera optimizar para una base de datos en particular o que sea más fácil para cambiar de back-ends, depende de usted (y, tal vez, su gerente).