私は C/C++ を使用する予定で、MySQL サーバーと通信する最良の方法を知りたいです。サーバーのインストールに付属のライブラリーを使用する必要がありますか? 公式以外に検討すべき良いライブラリはありますか?
4 に答える
それはあなたが何をしたいかに少し依存します。
まず、DBMSプラットフォーム以外への接続を提供するライブラリを確認してください。たとえば、Qtを使用すると、MySQL、MS SQL Serverなどに非常に簡単に接続でき、実行時にデータベースドライバー(接続タイプ)を数行のコードで簡単に変更できます。
MySQL固有のライブラリは問題ありませんが、DBのようにコードを設計したとしても、将来変更が必要になった場合は、1つのDB実装に固定されていることに注意してください。 -特定のものはファサードの後ろにあります。複数のプラットフォームへの接続を提供するライブラリを使用して、手間を省いてみませんか?
OTLは、私のプロジェクトで何年も使用されてきた C++ 向けの堅牢なクロス DBMS ソリューションです。これを使用して、SQL Server (ODBC 経由) および Oracle (OCI 経由) と通信します。操作はかなり簡単で、サポートされているすべてのデータベースにわたって多数の例が付属しています。
MySQL 独自のクライアント ライブラリには何の問題もありません。機能を減らしても構わない場合は、ODBC、UDBC、apr_dbd、またはその他のデータベース抽象化ライブラリ (既に提供されている OTL など) を使用して、移植性を高めることができます。
これにより、バックエンドの切り替えが容易になりますが、前述のように、ネイティブ クライアントに比べて提供される機能が少なくなります。DB ベンダーが異なるため、抽象化ライブラリはすべて (またはほとんど) のバックエンドに共通の機能しか提供できません。特定の DB に合わせて最適化するか、バックエンドの切り替えを容易にするかは、あなた (およびおそらくあなたのマネージャー) 次第です。