SQL Server 连接基础知识

SQL Server 连接基础知识

ID:37905467

大小:42.50 KB

页数:5页

时间:2019-06-02

SQL Server 连接基础知识_第1页
SQL Server 连接基础知识_第2页
SQL Server 连接基础知识_第3页
SQL Server 连接基础知识_第4页
SQL Server 连接基础知识_第5页
资源描述:

《SQL Server 连接基础知识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、引言该堆栈的顶部是API或对象库层。应用程序通过对象库公开的API函数或接口连接到Microsoft®SQLServer。用于访问SQLServer的API示例包括ODBC和DB-Library。用于访问SQLServer的对象库示例包括OLEDB、ADO和ADO.NET。由于ADO最终使用OLEDB与服务器通信,因此Windows应用程序在与SQLServer通信时实际上只使用两个常用的对象库,即OLEDB和ADO.NET。由于通过ADO或ADO.NET进行连接通常比通过ODBC进行连接更普遍(但SQLServer的查询分析器和企业

2、管理器仍通过ODBC进行连接),因此本文将从ADO/OLEDB和ADO.NET的角度介绍SQLServer连接体系结构的客户端。如今,大多数应用程序均通过对象库(而非ODBC或类似API)连接到SQLServer。二、ADO和OLEDBOLEDB客户端(也称作使用者)通过客户端提供程序与服务器以及其他后端程序进行通信。此提供程序是一组COM组件(一个或多个),用于将应用程序请求转换为网络进程间通信(IPC)请求。在使用SQLServer的情况下,最常用的OLEDB提供程序是SQLOLEDB,它是Microsoft为SQLServer提供的

3、OLEDB提供程序。SQLOLEDB随附于SQLServer中,并作为Microsoft数据访问组件(MDAC)库的一部分安装。为了使用ADO与SQLServer进行通信,应用程序首先使用Connection对象建立与服务器的连接。ADO的Connection对象接受一个连接字符串,该字符串指定要使用的OLEDB提供程序以及传递给它的参数。如果应用程序使用SQLOLEDB提供程序连接到SQLServer,则该字符串中将显示“SQLOLEDB”。ADO应用程序还可以通过ODBC连接到SQLServer。为此,应用程序将使用适用于ODBC的O

4、LEDB提供程序,并指定在其连接字符串中引用目标SQLServer的ODBC数据源。这种情况下,应用程序与OLEDB进行通信,同时ODBC的OLEDB提供程序调用相应的ODBCAPI,以便与SQLServer进行会话。三、ADO.NETADO.NET应用程序通常使用.NETFrameworkDataProviderforSQLServer连接到SQLServer。该本机提供程序使ADO.NET对象能够与SQLServer直接进行通信。通常,应用程序使用SqlConnection对象建立连接,然后使用SqlCommand对象向服务器发送命令

5、,并接收服务器返回的结果。SqlDataAdapter和SqlDataReader类通常与SqlCommand一起使用,以便通过托管的代码应用程序与SQLServer进行交互。  通过OleDbConnection类,ADO.NET应用程序还可以使用SQLOLEDBOLEDB提供程序与SQLServer进行交互。此外,它们可以通过OdbcConnection类使用ODBC访问SQLServer。因此,仅通过托管代码,您就有三种不同的方法从应用程序访问SQLServer。从故障排除的角度而言,了解这些方法是非常有用的,因为它可以帮助您将遇到

6、的与连接相关的问题归结到特定的数据访问层或库。 四、客户端Net-Library该堆栈中的下一层是Net-Library。Net-Library在API或对象库(应用程序使用它与SQLServer进行通信)与网络协议(用于与网络交换数据)之间提供了一个通道。SQLServer为所有主要的网络协议提供了Net-Library。这些库以透明方式将客户端发出的请求发送到SQLServer,并将服务器发出的响应返回给客户端。可以使用SQLServer的客户端网络实用程序配置适用于特定客户端的Net-Library。支持的客户端协议包括TCP/IP

7、、命名管道、NWLink、多协议(RPC)和其他一些协议。尤其值得一提的Net-Library是共享内存Net-Library。顾名思义,该Net-Library使用Windows的共享内存功能在SQLServer客户端与服务器之间进行通信。显然,这意味着客户端与服务器必须位于同一台物理计算机上。由于它能够绕过物理网络堆栈,因此共享内存Net-Library要比其他Net-Library快得多。对共享内存区域的访问受到同步对象的保护,因此客户端与服务器之间的通信速度主要受限于Windows对内核对象进行调度的能力,以及进程与共享内存区域之

8、间进行数据复制的能力。可以在连接时将某个时间段或(本地)指定为您的计算机名,来指示使用共享内存Net-Library。也可以在连接时为计算机实例名加上前缀lpc:,来指示要使用共享内存Net

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。