Microsoft Data Access Components(MDAC) 结构以及一些连接SQL数据库的架构基础

Microsoft Data Access Components (MDAC) 包含访问数据的核心组件, 诸如Microsoft SQL Server™ OLE DB provider和ODBC driver.

 

下图演示了MDAC的结构.

clip_image001

 

Provider

==============

注意看, 这幅图中, 所有Application仅通过一个箭头就可以连到的地方就是Provider们了.

ADO          –   msado15.dll

OLE DB     –   oledb32.dll

ODBC       –   odbc32.dll

.Net Framework Data provider for OLE DB          –   System.Data.Oledb

.NET Framework Data Provider for ODBC           –   System.Data.Odbc

.NET Framework Data Provider for SQL Server   -   System.Data.SqlClient

.NET Framework Data Provider for Oracle           -   System.Data.OracleClient

 

注意, 上图中除了System.Data.Sni外, 托管组件最终都要调用到相应的非托管组件中.

 

比如SharePoint在连接数据库的时候, 会使用的provider之中, 有一种叫做microsoft ole db provider for sql server, 还有一种是sql native client. 经过证明, UDL文件中的microsoft ole db provider for sql server连接SQL的方式与w3wp.exe连接SQL的方式是一样的. 所以, 可以使用UDL文件来测试并判断连接问题出现在SharePoint一边还是出现在SQL一边.

 

Protocol

============

连接数据库的时候有以下几种协议:

  • TCP/IP - Dbnetlib.dll
  • Named Pipe - Dbnetlib.dll routes to Dbnmpntw.dll
  • Shared Memory – Server Shared Memory Net-Library

这里的protocol在上图中对应的是地步的Dbnetlib.dll和Dbnmpntw.dll的部分.

 

参考资料

================

Data Access Tracing in SQL Server 2008

http://msdn.microsoft.com/en-us/library/cc765421%28v=sql.100%29.aspx 

Client and Server Net-Libraries

http://msdn.microsoft.com/en-us/library/aa174500%28v=sql.80%29.aspx

posted on   中道学友  阅读(1125)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2010年12月 >
28 29 30 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

技术追求准确,态度积极向上

点击右上角即可分享
微信分享提示