C ++のデータベースアクセスライブラリ
質問
背景:
削除されているwxWidgetsツールキットのwxODBCデータベースアクセスライブラリを使用するネイティブC ++で記述されたアプリケーションがあります wxWidgetsのすべての将来のバージョンから。これを、以下に概説する仮定と制約をサポートする別のデータベースアクセス方法に置き換える必要があります。代わりにネイティブDBMS APIまたはODBCを内部で使用する必要はありませんが、以下で説明する制約を満たす必要があります。
仮定/制約
ライブラリは次の条件を満たしている必要があります:
- ネイティブ(アンマネージド)C ++のサポート
- 32ビットWindows 2000 / XP / 2003
- Visual Studio 2005
- Microsoft SQL Server 2000および2005
- Oracle 9および10
- wxODBC以上の実行時パフォーマンス
- 複数のDBMSをサポートする単一のプログラマーAPI(たとえば、異なるDBMSを使用するために異なるコードを記述したくない)
適切だがオプション:
- 64ビットWindowsオペレーティングシステム
- 32ビットおよび/または64ビットLinuxオペレーティングシステム
- Microsoft SQL Server 2008
- Oracle 11
- MySQL
- 追加のDBMS
- Visual Studio 2008
- オープンソース
- ネイティブDBMS APIに近いまたは同等の実行時パフォーマンス
質問:
Oracle、Microsoft SQL Serverなどの単一のAPIから複数のDBMSをサポートし、ネイティブC ++から使用できる優れたライブラリ(無料、オープンソース、有料)が利用可能ですか?
特定のライブラリについて、過去または過去に経験したこと(良いか悪いか)と、特に上記の仮定と制約に関して、特定のライブラリを推奨または拒否する理由を説明してください。
関連項目:
https://stackoverflow.com/questions/74141/good-orm-for-c -ソリューション
解決
SQLAPI ++を使用しています。一見の価値あり。
他のヒント
SOCI http://soci.sourceforge.net またはWt :: Dbo、 http://www.webtoolkit.eu でWt :: Dboコンポーネントを確認してください。
ライブラリは http://otl.sourceforge.net/
です。私の雇用者がそれを使用しました。
そのパフォーマンスがwxODBCとどのように比較されるかはわかりませんが、要件に適合する可能性があります。
Debea -C ++用のSQLデータベースアクセスとORMを確認できます。 wxWidgetsのAPIが組み込まれています。
Qtもオプションです。必要なサーバーへの接続をサポートし、非常に簡単に使用できます。
http://doc.trolltech.com/4.4/sql -driver.html#supported-databases
Qtを使用する場合、すべてのQtに対してビルドする必要はありません。たとえば、SQLパーツを使用するだけで、GUIパーツ全体を外部に残すことができます。
最近LGPL版になったため、独自のアプリケーションにも使用できます。