Question

Je vais être à l'aide de C/C++, et j'aimerais savoir la meilleure façon de parler à un serveur MySQL.Dois-je utiliser la bibliothèque qui est livré avec le serveur d'installation?Sont-ils bien les bibliothèques que je devrais envisager autre que l'officiel?

Était-ce utile?

La solution

Autres conseils

Cela dépend un peu sur ce que vous voulez faire.

Tout d'abord, découvrez les bibliothèques qui fournissent la connectivité de plus que sur les SGBD plate-forme.Par exemple, Qt, il est très facile de se connecter à MySQL, MS SQL Server et un tas d'autres, et de changer le pilote de base de données (type de connexion) au moment de l'exécution - avec seulement quelques lignes de code.

Spécifique à MySQL bibliothèques sont beaux, mais gardez à l'esprit que vous vous bloquer vous-même vers le bas pour un DB de mise en œuvre - si jamais vous avez besoin de changer dans l'avenir, il va être beaucoup de travail, même si la conception de votre code tel que le DB spécifique des choses est derrière une façade.Pourquoi ne pas utiliser une bibliothèque qui fournit la connectivité à de multiples plates-formes, et vous sauver de la peine?

OTL est un solide de la croix-SGBD solution pour le C++ que mon projet a été utilisé pendant des années.Nous l'utilisons pour parler de SQL Server (via ODBC) et Oracle (via BEC).C'est assez facile à conduire, et est livré avec un grand nombre d'exemples dans toutes les bases de données supportées.

Il n'y a rien de mal avec MySQL-client-bibliothèques.Si vous êtes prêt à régler pour fonctionnalité réduite, vous pouvez acheter vous-même certains plus de portabilité par l'aide de ODBC, UDBC, apr_dbd qui permet, ou une autre base de données de l'abstraction de la bibliothèque (comme l'OTL offert déjà).

Cela rendra la commutation d'un back-end plus facile, mais, comme je l'ai mentionné, au détriment de l'offre moins de fonctionnalités par rapport à celle de la native client.Parce que DB-fournisseurs différents, l'abstraction-les bibliothèques ne peuvent vraiment offrir les fonctions communes à tous (ou la plupart) des back-ends.Si vous souhaitez optimiser pour un DB ou serait plutôt le rendre plus facile de passer de back-end, est à vous (et peut-être que votre gestionnaire).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top