Datenbankzugriffsbibliotheken für C ++

8

Hintergrund:

Ich habe eine Anwendung in nativem C ++ geschrieben, die die wxODBC-Datenbankzugriffs-Bibliothek des wxWidgets-Toolkits verwendet, die aus allen zukünftigen Versionen entfernt wird von wxWidgets. Ich muss dies durch eine andere Datenbankzugriffsmethode ersetzen, die die unten aufgeführten Annahmen und Einschränkungen unterstützt. Ich erzwinge nicht, dass die Ersetzung native DBMS-APIs oder ODBC unter der Haube verwendet, aber es muss die Beschränkungen erfüllen, die unten beschrieben werden.

Annahmen / Einschränkungen

Die Bibliothek muss:

  • Unterstützt natives (d. h. nicht verwaltetes) C ++
  • 32-Bit Windows 2000 / XP / 2003
  • Visual Studio 2005
  • Microsoft SQL Server 2000 und 2005
  • Oracle 9 und 10
  • Laufzeitleistung größer oder gleich wxODBC
  • Einzelprogrammierer-API, die mehrere DBMS unterstützt (z. B. möchte keinen anderen Code für die Verwendung anderer DBMS schreiben)

Schön, aber optional:

  • 64-Bit-Windows-Betriebssysteme
  • 32-Bit- und / oder 64-Bit-Linux-Betriebssysteme
  • Microsoft SQL Server 2008
  • Oracle 11
  • MySQL
  • Jedes zusätzliche DBMS
  • Visual Studio 2008
  • Open Source
  • Laufzeitleistung nahe oder gleich der nativen DBMS API

Frage:

Welche guten Bibliotheken sind verfügbar - entweder kostenlos, Open Source oder Pay -, die mehrere DBMS von einer einzigen API einschließlich Oracle und Microsoft SQL Server unterstützen und aus nativem C ++ verwendet werden können?

Bitte beschreiben Sie alle bisherigen Erfahrungen, die Sie gemacht haben - gut oder schlecht - mit einer gegebenen Bibliothek und warum Sie Ihre Empfehlung für oder gegen eine bestimmte Bibliothek machen, insbesondere in Bezug auf die obigen Annahmen und Einschränkungen.

Siehe auch:

Ссылка

    
Zach Burlingame 13.01.2009, 18:01
quelle

5 Antworten

5

Ich benutze SQLAPI ++. Es lohnt sich einen Blick.

Ссылка

    
Rob 13.01.2009, 18:20
quelle
3

Sie können SOCI Ссылка oder auch Wt :: Dbo, Ссылка und schauen Sie sich die Komponente Wt :: Dbo an.

    
Raindog 10.10.2010 07:31
quelle
2

Eine Bibliothek ist Ссылка

Ein Arbeitgeber von mir hat es benutzt.

Ich kann Ihnen nicht sagen, wie seine Leistung mit wxODBC verglichen wird, aber es könnte Ihren Anforderungen entsprechen.

    
ChrisW 13.01.2009 18:07
quelle
2

Sie können Debea - SQL-Datenbankzugriff und ORM für C ++ überprüfen. Es hat API für wxWidgets eingebaut.

    
Lukasz 15.11.2009 12:42
quelle
2

Qt ist auch eine Option. Es unterstützt die Verbindungen zu den gewünschten Servern und ist sehr einfach zu bedienen.

Ссылка

Wenn du Qt benutzt, musst du nicht gegen alle Qt bauen. Sie können zum Beispiel einfach den SQL-Teil verwenden und den gesamten GUI-Teil draußen lassen.

Da es kürzlich LGPL-ed wurde, können Sie es auch für eine proprietäre Anwendung verwenden.

    
Tristram Gräbener 15.11.2009 12:52
quelle