我读了一篇关于pivotcache的MS Excel帮助文章,想知道OLE DB和ODBC源是什么意思
...You应该使用CommandText属性,而不是SQL属性,现在使用SQL属性主要是为了与早期版本的Microsoft Excel兼容。如果同时使用这两个属性,则CommandText属性的值优先。
对于OLE DB源,CommandType属性描述CommandText属性的值。
对于SQL源,CommandText属性的功能与属性完全相同,设置该属性会刷新数据...
我真的很感谢你简短的回答。
发布于 2009-07-13 15:05:52
根据, a book by Jason T. Roff, published by O'Reilly Media in 2001 (这里有很好的图表),他准确地说出了MOZILLA所说的话。
(直接从那本书的第7页)
因此,OLE似乎通过ODBC驱动器层与基于SQL的数据源进行交互。
我不是100%确定这个图像是正确的。我不确定的两个连接是通过ADO C-api的ADO.NET和通过ODBC到基于SQL的数据源的OLE DB (因为在this diagram中,作者没有将OLE DB的访问通过ODBC,我认为这是一个错误)。
发布于 2009-04-24 09:47:52
ODBC:-仅适用于关系数据库(Sql Server、Oracle等)
OLE DB:-适用于关系数据库和非关系数据库。(Oracle、Sql-Server、Excel、raw文件等)
发布于 2009-07-13 17:37:44
以下是我的理解(非权威):
ODBC是一种与技术无关的开放标准,大多数软件供应商都支持它。OLEDB是COM时代特定于技术的微软应用编程接口(COM在.NET之前是一种组件和互操作性技术)
在某种程度上,各种数据源供应商(例如Oracle等)愿意与Microsoft数据消费者兼容,为他们的产品开发了OLEDB提供程序,但在大多数情况下,OLEDB仍然是Microsoft独有的标准。现在,大多数Microsoft数据源都允许ODBC和OLEDB访问,主要是为了与遗留的ODBC数据使用者兼容。此外,还存在用于ODBC的OLEDB提供程序(包装器),它允许用户使用OLEDB访问ODBC数据源。
就功能而言,OLEDB比ODBC丰富得多,但存在“一环一规则”综合症(过于通用、过于复杂、不固执己见)。
在非Microsoft的世界中,基于ODBC的数据提供程序和客户机被广泛使用,而且不会再有用武之地。
在微软内部,泡泡OLEDB正在逐步淘汰,取而代之的是原生.NET API,这些API建立在数据源的原生传输层之上(例如,用于MS SQL Server的TDS )。
https://stackoverflow.com/questions/103167
复制相似问题