Question

Arrière-plan:

J'ai une application écrite en C ++ natif qui utilise la bibliothèque d'accès à la base de données wxODBC de la boîte à outils wxWidgets qui est en cours de supprimée de toutes les futures versions de wxWidgets. Je dois remplacer ceci par une autre méthode d'accès à la base de données qui prend en charge les hypothèses et les contraintes décrites ci-dessous. Je n’exige pas que le remplaçant utilise des API de SGBD ou ODBC natives, mais il doit respecter les contraintes décrites ci-dessous.

Hypothèses / contraintes

La bibliothèque doit:

  • Prise en charge de C ++ natif (c.-à-d. non géré)
  • Windows 2000 / XP / 2003 32 bits
  • Visual Studio 2005
  • Microsoft SQL Server 2000 et 2005
  • Oracle 9 et 10
  • Performances d'exécution supérieures ou égales à wxODBC
  • API de programmeur unique prenant en charge plusieurs SGBD (par exemple, vous ne voulez pas écrire de code différent pour utiliser un SGBD différent)

Sympa mais facultatif:

  • Systèmes d'exploitation Windows 64 bits
  • Systèmes d'exploitation Linux 32 bits et / ou 64 bits
  • Microsoft SQL Server 2008
  • Oracle 11
  • MySQL
  • Tout SGBD supplémentaire
  • Visual Studio 2008
  • Open Source
  • Performances d'exécution proches ou égales à l'API de SGBD natif

Question:

Quelles sont les bonnes bibliothèques disponibles - gratuites, open source ou payantes - qui prennent en charge plusieurs SGBD à partir d'une même API, y compris Oracle et Microsoft SQL Server, et peuvent être utilisées à partir de C ++ natif?

Veuillez décrire vos expériences passées - bonnes ou mauvaises - avec une bibliothèque donnée et expliquer pourquoi vous faites des recommandations pour ou contre une bibliothèque donnée, en particulier en ce qui concerne les hypothèses et les contraintes susmentionnées.

Voir aussi:

https://stackoverflow.com/questions/74141/good-orm-for-c -solutions

Était-ce utile?

La solution

J'utilise SQLAPI ++. Vaut le détour.

http://www.sqlapi.com/

Autres conseils

Vous pouvez utiliser SOCI http://soci.sourceforge.net ou également Wt :: Dbo, http://www.webtoolkit.eu et examinez le composant Wt :: Dbo.

Une bibliothèque est http://otl.sourceforge.net/

Un de mes employeurs l'a utilisé.

Je ne peux pas vous dire comment ses performances se comparent à celles de wxODBC, mais cela pourrait correspondre à vos besoins.

Vous pouvez vérifier Debea - Accès à la base de données SQL et ORM pour C ++. Il possède une API pour wxWidgets intégrée.

Qt est également une option. Il prend en charge les connexions aux serveurs de votre choix et est simple à utiliser.

http://doc.trolltech.com/4.4/sql -driver.html # bases-supportées

Lorsque vous utilisez Qt, vous n'avez pas besoin de construire contre tous les Qt. Vous pouvez par exemple simplement utiliser la partie SQL et laisser la totalité de la partie graphique en dehors.

Comme il a été récemment édité en LGPL, vous pouvez également l'utiliser pour une application propriétaire.

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