在this OLE DB msdn example中,(是的,它是1997年,但仍然可以工作:))我想知道什么 OLE DB的历史要点如果你仍然显然写了SQL与底层数据源交互。
我正在考虑的一件事是如果 ICommandText是不直接在数据库上执行,而是以某种方式由OLE DB解释然后作为特定供应商传递SQL命令/命令以它理解的格式操作底层数据源。 那是真的吗?
答案 0 :(得分:1)
我可以保证OLE DB完成 NO 翻译。
如果您有不同的数据库,则必须根据供应商提供不同的SQL语句。总是很有趣的日期和Oracle与MS数据库......
答案 1 :(得分:1)
OLE DB技术的目的是拥有一种通用的方式来连接,处理事务和使用数据集。但是你仍然需要编写SQL查询。请记住,SQL语言的目的是使用通用语言来查询数据(但是,正如您所见,该语言的某些部分依赖于平台)。如何连接以及查询方式是互斥的。
而且,是的,CommandText直接在数据库中执行。
也许你想要一些升级的东西,如NHibernate,Subsonic,Entity Framework等?