存在哪些用於從C++訪問不同數據庫的選項?換句話說,ADO有什麼替代方案? 有什麼優點和缺點?數據庫抽象層(Visual)C++
2
A
回答
2
- Microsoft ODBC。
- MFC ODBC類,例如CDatabase。
- OleDB(通過COM)。
- 您可以隨時瀏覽每個RDBMS本機庫(例如,SQL Server native library)
- DAO(不)。
- 第三方ORM提供者。
我會推薦通過ODBC或OleDB默認情況下。本機庫真的限制了你,DAO沒有趣味,對於C++/Windows來說,沒有太多優秀的第三方ORM。
0
一兩件事 - 如果速度是重要的,你的代碼並不需要移植,那麼它可能是值得它使用本地庫。
我不太瞭解SQL Server,但我知道Oracle OCI調用比使用ODBC更快。但是,它們將您與Oracle的SQL版本聯繫在一起。對於SQL Server來說也是一樣的。
0
有POCO Data庫,它支持ODBC,MySQL和SQLite。部分免費開源POCO C++ Libraries。
1
雖然這個問題,它的答案是幾年前,他們還是對我這樣的人是通過郵輪上的評價之旅有價值。爲此,我想添加Qt C++框架的QtSql
模塊作爲數據庫連接選項。
請注意,我一般熟悉Qt,但特別是QtSql
沒有經驗。
優點(如果您只是爲其QtSql模塊選擇Qt,也應該適用幾個): Qt是跨平臺的。根據我的經驗,Qt設計良好,使用非常直觀,並且非常有據可查。它已經存在了很長一段時間,由一個活躍的社區維護,並由諾基亞支持,所以它不會在一夜之間變得不可用。自2009年以來,QT已經在LGPL許可,所以即使是用於商業應用的真正的無成本的選擇。
缺點: Qt是不小。您將爲您的項目引入新類型,例如QString
。 Qt是根據LGPL授權的,因此即使在商業應用程序中也需要承認它的使用。
相關問題
- 1. MySQL數據庫抽象層?
- 2. Node.js數據庫的抽象層
- 3. AIR(JS)的數據庫抽象層?
- 4. Scala的數據庫抽象層
- 5. AIR的數據庫抽象層? (AS3)
- 6. 數據輸入抽象層?
- 7. 正確抽象3層系統中的數據庫層?
- 8. 對象關係映射vs數據庫抽象層
- 9. 數據庫抽象層和數據訪問層有什麼區別?
- 10. PDO數據庫抽象
- 11. 分層數據上下文和抽象
- 12. 抽象層(Java)
- 13. 數據庫模式對象抽象
- 14. 抽象三層應用程序的數據層(DAL)
- 15. 數據抽象
- 16. 從業務對象中抽象出數據訪問層
- 17. 數據庫抽象 - 有哪些選項?
- 18. 春數據和休眠..抽象類庫
- 19. Rails數據庫抽象爲Java
- 20. 企業架構師數據庫抽象
- 21. ruby的數據庫抽象/適配器
- 22. Ruby抽象數據庫連接器
- 23. 數據庫抽象和工廠方法
- 24. 如何從數據服務中抽象數據庫存儲庫?
- 25. C#Microsoft SQL Server,Oracle,MySQL和DB2的數據庫抽象
- 26. 什麼是數據層的正確抽象數量?
- 27. 使用數據庫類,db抽象層和orm有什麼區別?
- 28. CodeIgniter的Active Record類僅僅是一個數據庫抽象層嗎?
- 29. Doctrine的數據庫抽象層提供什麼比簡單的PDO?
- 30. 面向文檔的NoSQL(Mongo)數據抽象層?