2008-08-22 12 views
8

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?

+2

Pourriez-vous changer le titre? Je pensais que c'était sur le serveur MS SQL. merci –

+2

Crier dessus. ;) –

Répondre

0

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?

0

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.

0

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).