私は、MySQLデータベースとのインタフェースが必要なアプリケーションを作成しています。 libmysqlまたはODBCコネクタを使用する必要がありますか? ODBCを使用することで、将来的に多くのコード変更をせずにDBを変更できるという事実の他に、賛否両論はありますか?Cアプリケーションlibmysqlclient対ODBC
2
A
答えて
1
私はいつも自分のDBを変更していますが、コードチェンジが無制限で完璧に動作するCコネクタを使用しています。それは私のためのより良い選択であり、おそらくあなたのためのものです(もちろん私だけです)。
MySQLを使いこなす場合、コード変更が2つのインターフェイス間で大きく異なるとは思えません。
EDIT:私は直感的で自然なので、元々Cコネクタを選択しました。私はLinux用に機能し、強化されたODBCがあるとは確信していなかったので、私のコードはWindowsとLinuxの両方で動作しなければなりません。今私は確かにそのようなことがあることがわかります。これはODBCをより魅力的にします。もし私がそれについて知っていたら、私は多分選択したでしょう。
1
私の意見では、それは個人的な好みの問題です。
libmysqlを使用する場合は、まず、汎用のlibmysqlclientラッパー関数(レイヤーA)を作成し、プログラムで使用するデータベース機能を実装する一連の関数レイヤーB)、それ以上は実際のプログラム(レイヤーC)です。
libmysqlからODBCに切り替えるには、B層のAPIを変更せずにB層を少し変更するだけです。したがって、MySQLだけでプログラムを使用するつもりなら、誰かがあなたにODBC用のパッチを提供するまで、libmysqlを使うことをお勧めします。
技術面では、データベース接続と移植性の間にトレードオフが必要です。 libmysqlを使用すると、Unix、MacOS、Windowsなどのさまざまなプラットフォームでコードを変更することなくコンパイルできます。 ODBCライブラリは、通常、Windows用またはUnix/MacOS用に書かれています。
関連する問題
- 1. Python libmysqlclient segfault(MySQLdb)
- 2. Oracle ODBCデータクライアント - C#
- 3. C#ODBCダイアログ
- 4. C/C++ API ODBCプロセスID
- 5. C#のODBC .DBFファイル
- 6. C#アプリケーションの相対パス
- 7. IDLEのlibmysqlclientへのリンク
- 8. Visual C++ ODBCアプリケーションがMySQLデータベースに接続できません
- 9. libmysqlclientを使用したcollation_connectionの設定C API
- 10. ODBC v Libpq:PostgreSQLのCライブラリ
- 11. C# - ODBCパラメータの動作
- 12. C#のODBCまたはODP.Net?
- 13. C++ Poco ODBCトランザクション - AutoCommitモード
- 14. オープンソースODBC接続ラッパーMS SQL用C++
- 15. C++ \ SQL ODBC:テーブルから行を取得
- 16. C#からExcel ODBC接続を開く
- 17. データベースの更新MFC C++ ODBC CRecordset
- 18. PostgreSQL ODBC Visual C++ BLOBの入手?
- 19. IBM InformixおよびODBCドライバーC#
- 20. ODBCドライバ13とODBCドライバ11
- 21. iPhone用C対C++(Objective-C対Objective-C++)
- 22. ODBC -
- 23. ODBC接続テーブルVBAに対してクエリを実行します
- 24. OpenCV C対C++
- 25. アプリケーション対ページ
- 26. ODBCクライアント
- 27. ODBCエラー
- 28. ODBCドライバ
- 29. C++対応のC++対応アクション代入
- 30. DelphiアプリケーションとODBCドライバ - ベストプラクティス大量のデータをロードしてアプリケーションを終了する
+1実際にそれを使用した人から聞くのは常にいいです。 – nc3b