在创建具有多数据库支持的应用程序时,使用Enterprise Library vs使用OleDb类型的通用对象的优缺点是什么?多数据库支持
Q
多数据库支持
4
A
回答
1
如果不真正了解“企业库”与“通用OleDb”是什么,我会建议你在开始开发一个可以处理许多数据库的应用程序之前非常小心。当然,创建一些接口是很好的,所以人们不知道他们在呼叫什么,但是所有的数据库都不一样,甚至不是很接近。最后,您最终会将代码写入“最低公分母”,从而使您的应用程序不能享受现代数据库带来的好处。还有一些严重的应用程序逻辑问题需要处理,例如某些数据库编写者在其他读者从不锁定的情况下阻止读取器。关于并发进程如何与数据库进行交互的假设可以通过你的好封装接口,并且可能很难调试。
我的建议:
a)如果您使用简单的持久数据库,并希望它“到处运行”,只是它自己的多平台的数据库(flatfiles,sqllite等释放你的应用程序)。 b)如果你真的想针对“任何数据库”运行,只需使用一个hibernate类型的接口,并确保所有项目参与者意识到当他们的代码针对不同平台执行时出现的语义差异,然后出去你的方式使更好的数据库的行为像crummier的。
c)(首选) - 放弃主动,选择一个好的数据库,并对它写应用程序,充分利用数据库的能力。
我一直在这条道路上多次。
0
如果您选择开发自己的多数据库DAL或使用企业库,则没有真正的优点或缺点。如果你使用企业库,它会给你一个跳跃的开始,但也做比你需要更多的代码。在这种情况下,请仔细查看为您的应用程序构建XMLish配置文件,您可以根据这些配置文件进行裁剪以适应一种或多种类型的数据库。如果在多个数据库上工作并不是主要关心的问题,那么完成多数据库工作将占用大量时间。
相关问题
- 1. django中的多个数据库支持
- 2. 在Symfony中支持多个数据库
- 3. ASP.NET网站支持多种数据库支持
- 4. Objective-C:数据库支持
- 5. tvOS支持sqlite数据库?
- 6. dbDacFx:支持的数据库
- 7. Iphone数据库支持
- 8. sqlite数据库不支持2.1,2.2版本但2.3支持
- 9. 哪些数据库系统支持ENUM数据类型,哪些不支持?
- 10. PHP支持哪些数据库?
- 11. Rikulo支持mysql数据库吗?
- 12. 支持PHP的Java数据库
- 13. DAO数据库类不支持
- 14. SQL Azure支持关系数据库吗?
- 15. Spring roo - NonRelational数据库支持
- 16. SQLite支持的数据库格式?
- 17. H2数据库:聚簇索引支持
- 18. 跨数据库实体框架支持
- 19. 默认java支持哪个数据库
- 20. Neo4j ETL组件数据库支持
- 21. impala是否支持数据库游标?
- 22. 进程内数据库支持sprocs
- 23. Windows Phone 7没有数据库支持
- 24. 实体框架支持的数据库
- 25. Adobe Flash是否支持数据库?
- 26. 数据库支持工作队列
- 27. Erlang支持哪种数据库(SQL)?
- 28. 哪些数据库支持加密
- 29. Flyway:支持较旧的数据库
- 30. Firefox 3.5支持客户端数据库?