Je vais utiliser C/C++, et j'aimerais connaître la meilleure façon de parler à un serveur MySQL. Dois-je utiliser la bibliothèque fournie avec l'installation du serveur? Sont-ils de bonnes bibliothèques que je devrais considérer autres que la bibliothèque officielle?Quel est le meilleur moyen de communiquer avec un serveur MySQL?
Répondre
Cela dépend un peu de ce que vous voulez faire.
Tout d'abord, consultez les bibliothèques qui fournissent une connectivité supérieure à celle d'une plateforme de SGBD. Par exemple, Qt rend très facile la connexion à MySQL, MS SQL Server et à beaucoup d'autres, et change le pilote de la base de données (type de connexion) à l'exécution - avec juste quelques lignes de code.
Les bibliothèques spécifiques à MySQL fonctionnent bien, mais gardez à l'esprit que vous vous verrouillez sur une seule implémentation de base de données - si vous avez besoin de changer à l'avenir, cela prendra beaucoup de temps - même si vous concevez votre code de sorte que les choses spécifiques à la DB sont derrière une façade. Pourquoi ne pas utiliser une bibliothèque qui fournit une connectivité à plusieurs plates-formes et vous éviter les problèmes?
OTL est une solution de SGBD cross-cross solide pour C++ que mon projet utilise depuis des années. Nous l'utilisons pour parler à SQL Server (via ODBC) et Oracle (via OCI). Il est assez facile à conduire et est livré avec un grand nombre d'exemples dans toutes les bases de données prises en charge.
Il n'y a rien de mal dans les propres bibliothèques client de MySQL. Si vous êtes prêt à vous contenter de fonctionnalité réduite, vous pouvez vous acheter une portabilité supplémentaire en utilisant ODBC, UDBC, apr_dbd, ou une autre bibliothèque d'abstraction de base de données (comme OTL déjà offert). Cela facilitera le basculement d'un back-end, mais, comme je l'ai mentionné, au détriment d'offrir moins de fonctionnalités par rapport à celui du client natif. Étant donné que les fournisseurs de DB diffèrent, les bibliothèques d'abstraction ne peuvent réellement offrir que les fonctions communes à tous (ou à la plupart) les back-ends. Que vous préfériez optimiser pour une base de données particulière ou que vous préférez faciliter le changement de back-end, cela dépend de vous (et peut-être de votre manager).
Pourriez-vous changer le titre? Je pensais que c'était sur le serveur MS SQL. merci –
Crier dessus. ;) –