SQL Server 连接基础知识
2008-04-02 10:49:02来源:互联网 阅读 ()
引言
该堆栈的顶部是 API 或对象库层。应用程式通过对象库公开的 API 函数或接口连接到 Microsoft® SQL Server。用于访问 SQL Server 的 API 示例包括 ODBC 和 DB-Library。用于访问 SQL Server 的对象库示例包括 OLE DB、ADO 和 ADO.NET。由于 ADO 最终使用 OLE DB 和服务器通信,因此 Windows 应用程式在和 SQL Server 通信时实际上只使用两个常用的对象库,即 OLE DB 和 ADO.NET。由于通过 ADO 或 ADO.NET 进行连接通常比通过 ODBC 进行连接更普遍(但 SQL Server 的查询分析器和企业管理器仍通过 ODBC 进行连接),因此本文将从 ADO/OLE DB 和 ADO.NET 的角度介绍 SQL Server 连接体系结构的客户端。如今,大多数应用程式均通过对象库(而非 ODBC 或类似 API)连接到 SQL Server。www.chinai tp 采集 ow er.comDUmJQ97
ADO 和 OLE DB
OLE DB 客户端(也称作使用者)通过客户端提供程式和服务器连同其他后端程式进行通信。此提供程式是一组 COM 组件(一个或多个),用于将应用程式请求转换为网络进程间通信 (IPC) 请求。在使用 SQL Server 的情况下,最常用的 OLE DB 提供程式是 SQLOLEDB,他是 Microsoft 为 SQL Server 提供的 OLE DB 提供程式。SQLOLEDB 随附于 SQL Server 中,并作为 Microsoft 数据访问组件 (MDAC) 库的一部分安装。www.chinai tp 采集 ow er.comDUmJQ97
为了使用 ADO 和 SQL Server 进行通信,应用程式首先使用 Connection 对象建立和服务器的连接。ADO 的 Connection 对象接受一个连接字符串,该字符串指定要使用的 OLE DB 提供程式连同传递给他的参数。假如应用程式使用 SQLOLEDB 提供程式连接到 SQL Server,则该字符串中将显示“SQLOLEDB”。www.chinai tp 采集 ow er.comDUmJQ97
ADO 应用程式还能够通过 ODBC 连接到 SQL Server。为此,应用程式将使用适用于 ODBC 的 OLE DB 提供程式,并指定在其连接字符串中引用目标 SQL Server 的 ODBC 数据源。这种情况下,应用程式和 OLE DB 进行通信,同时 ODBC 的 OLE DB 提供程式调用相应的 ODBC API,以便和 SQL Server 进行会话。 www.chinai tp 采集 ow er.comDUmJQ97
ADO.NET
ADO.NET 应用程式通常使用 .NET Framework Data Provider for SQL Server 连接到 SQL Server。该本机提供程式使 ADO.NET 对象能够和 SQL Server 直接进行通信。通常,应用程式使用 SqlConnection 对象建立连接,然后使用 SqlCommand 对象向服务器发送命令,并接收服务器返回的结果。SqlDataAdapter 和 SqlDataReader 类通常和 SqlCommand 一起使用,以便通过托管的代码应用程式和 SQL Server 进行交互。www.chinai tp 采集 ow er.comDUmJQ97
通过 OleDbConnection 类,ADO.NET 应用程式还能够使用 SQLOLEDB OLE DB 提供程式和 SQL Server 进行交互。此外,他们能够通过 OdbcConnection 类使用 ODBC 访问 SQL Server。因此,仅通过托管代码,您就有三种不同的方法从应用程式访问 SQL Server。从故障排除的角度而言,了解这些方法是很有用的,因为他能够帮助您将碰到的和连接相关的问题归结到特定的数据访问层或库。www.chinai tp 采集 ow er.comDUmJQ97
客户端 Net-Library
该堆栈中的下一层是 Net-Library。Net-Library 在 API 或对象库(应用程式使用他和 SQL Server 进行通信)和网络协议(用于和网络交换数据)之间提供了一个通道。SQL Server 为任何主要的网络协议提供了 Net-Library。这些库以透明方式将客户端发出的请求发送到 SQL Server,并将服务器发出的响应返回给客户端。能够使用 SQL Server 的客户端网络实用程式配置适用于特定客户端的 Net-Library。支持的客户端协议包括 TCP/IP、命名管道、NWLink、多协议 (RPC) 和其他一些协议。 www.chinai tp 采集 ow er.comDUmJQ97
尤其值得一提的 Net-Library 是共享内存 Net-Library。顾名思义,该 Net-Library 使用 Windows 的共享内存功能在 SQL Server 客户端和服务器之间进行通信。显然,这意味着客户端和服务器必须位于同一台物理电脑上。www.chinai tp 采集 ow er.comDUmJQ97
由于他能够绕过物理网络堆栈,因此共享内存 Net-Library 要比其他 Net-Library 快得多。对共享内存区域的访问受到同步对象的保护,因此客户端和服务器之间的通信速度主要受限于 Windows 对内核对象进行调度的能力,连同进程和共享内存区域之间进行数据复制的能力。www.chinai tp 采集 ow er.comDUmJQ97
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: SQL Server 2005 数据转换服务中的模糊查找和模糊分组
下一篇: 可供选择的聚合
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash