SQL 第15章 SQL Server 2005数据库开发技术
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
▪ 在应用程序或开发环境中连接SQL Server数据库 ▪ SQL Server数据表的导入与导出
8
15. 2 应用程序访问SQL Server数据库
15.2.1 SQL Server数据库访问应用程序 接口(API)
15.2.2 ADO简介 15.2.3 使用ODBC连接SQL Server数据
17
▪ 在Windows NT和Windows 9x的“控制面板”中或 Windows 2000的“控制面板/管理工具”中启动“ODBC 数据源管理器”管理程序。其运行界面如下图15-4所示。
▪ 嵌入式SQL允许在程序代码中直接使用T-SQL语句。它可以 用于移植已有的其它数据库应用程序到SQL Server数据库上。
▪ DB-Libray是一组由C语言函数和宏定义组成的、用于访问 SQL Server的API库文件。开发MS-DOS版本的SQL Server 数据库应用程序时需要用到它。
7
15. 2 应用程序访问SQL Server数据库
▪ 在实际的数据库应用系统中,一般不会使用SQL Server 2000作为用户界面,让每一个用户都去学习T-SQL语法和 企业管理器的操作是不现实的。SQL Server本身是作为一 种数据库服务而存在的,必须使用其它的开发环境为应用 系统设计处理逻辑和用户界面。另一方面,实际应用中很 可能会需要从其它数据库系统中获取已经存在的数据,或 者把SQL Server数据表的数据使用到其它数据库系统或实 用软件中,使用SQL Server 2000的导入导出功能可以完成 这样的任务。本章的主要内容如下:
3
▪ 2. 数据对象接口 ▪ 数据对象接口比数据库API更容易使用,但功能没有API丰富。 ▪ Active X 数据对象(ADO):是一个在简化数据模型中封装
的OLE DB API,它降低了应用程序开发和维护的成本。ADO 可以在VB、VC、ASP和Internet Explorer中使用; ▪ 远程数据对象(RDO):RDO映射和封装ODBC API,可以 在VB、VC中使用。
▪ 另外,其它一些公司的集成开发环境也会提供自己的数据库 访问接口,比如Inprise公司(Borland公司)的数据库引擎 Borland Database Engine(BDE)。该公司著名的Delphi和 C++ Builder开发环境在访问数据库时都需要使用该接口,并 且BDE可以直接引用ODBC的数据源定义。
第15章 SQL Server 2005数据库开 发技术
15. 1 SQL Server 2005 数据库体系结构 15. 2 应用程序访问SQL Server数据库 15. 3 基于C/S体系结构的数据库访问技术 15. 4 基于B/S体系结构的数据库访问技术 15. 5 数据导入与导出
返回目录
15. 1 SQL Server 2005 数据库体系结构
• ADO 易于学习和编程
• ADO 具有大多数通用应用程序所需的功能集
• ADO 使程序员能够快速生成功能强大的应用程序
• ADO 支持 SQL Server 2000 的 XML 功能 本节首页 14
15.2.3 使用ODBC连接SQL Server数据库
▪ 1. ODBC简介 ▪ 开放式数据库连接(Open Database Connectivity, ODBC)
库
本章首页
9
15.2.1 SQL Server数据库访问应用程序 接口(API)
▪ Microsoft SQL Server 2000提供了多种API,它使得其它应 用程序能够访问数据库资源,这些API被称为数据库访问 API。数据库访问API允许应用程序执行一段T-SQL语句来访 问一个关系数据库的数据,它以平面结果集(行集)或XML 文件为应用程序返回结果。这些API有:ADO、OLE DB、 ODBC、嵌入式SQL和DB-Libray等。
▪ 15.1.1 SQL Server的通信
• 应用程序:采用数据库应用程序接口(API)开发,不 需要了解与SQL Server通信的底层协议。
• 数据库接口:这是应用程序给SQL Server发送请求和处 理SQL Server返回结果的接口。
• 网络库:这是一个通信软件包。对数据库请求和结果打 包,由合适的网络协议传送,客户机和服务器上都必须 安装。
13
▪ 如果已经安装了ADO或是使用Windows 2000操作系统,那么, ADO对象的相关信息就已经注册在系统中了。如果还没有安装 ADO,那么可以到Microsoft的网站下载最新的ADO版本安装。 一旦系统中安装了ADO,它将以ActiveX控件形式提供给开发工 具使用,ActiveX控件也称之为ADO数据控件。
本节首页 11
15.2.2 ADO简介
ADO(ActiveX Data Object)数据访问接口使得程序设计者只 要简单地创建几个对象便可以连接数据来源、获取所需的数 据和进行数据访问后的保存操作。ADO对象模型定义了一个 可编程的分层对象集合,主要由三个对象成员:Connection (连接)对象、Command(命令)对象和Recordset(记录 集)对象,以及几个集合对象:Errors(错误)、 Parameters(参数)和Fields(字段)等所组成。图15-1表 示了这些对象彼此之间的关系。
驱动程序接口
数据库驱动程序 专用通信协议
数据库服务器
16
▪ 2. 配置ODBC数据源 ▪ 为了连接到SQL Server数据库服务器,必须在ODBC中配
置SQL Server数据源。数据源存储了如何与指定数据库提 供者(如SQL Server)连接的信息。数据源名(DSN)是 用文本关键字标识应用程序将要使用的连接记录,它有三 种类型:基于文件的、系统的和用户的。 ▪ 系统DSN对于同一计算机或服务器上的所有用户都是可用 的,而用户DSN只能被当前登录的用户管理和使用。文件 DSN是以INI文件形式存储的数据源配置,它可以存放在本 地磁盘中或网络映射驱动器中,可以被安装了相同ODBC数 据库驱动程序的所有用户共享。
▪ 开发人员可以用SQL语句编码或用其它的SQL Server开发工 具(例如Visual Basic和Visual C++)来开发客户端应用程 序供终端用户访问数据。
5
▪ 2. SQL Server对象库 ▪ SQL Server对象库是一个中间层组件,它是作为前端和后
端之间的一个中间层而起作用的。它使任何的前端能与后 端通信。在某种意义上,它起到了接口或是翻译器的作用。 ▪ ⑴ 对象链接与嵌入(OLE) ▪ 对象链接与嵌入是一个程序开发技术的工业标准,它由微 软开发,用于应用程序之间的通信。它不但提供了在应用 程序之间交换数据的一种方式,而且还将应用程序的部分 功能作为“对象”出现,以使其它应用程序可以加以使用。 ▪ ⑵ 开放数据服务(ODS) ▪ 开放数据服务是服务器端的应用程序编程接口(API), 用来集成SQL Server与外部的应用系统和数据源。
▪ 1. 应用程序接口 ▪ 数据库API定义一个应用程序如何连接到数据库,如何把命
令传送给数据库。SQL Server提供两大类的数据库API: ODBC 及OLE DB。 ▪ ODBC:ODBC是一个调用级的接口,它直接访问TDS,并 支持使用ODBC数据对象接口写的应用程序或组件; ▪ OLE DB:OLE DB是一个基于组件对象模型(COM)的数 据访问接口,它支持使用OLE DB数据对象接口写的应用程 序。
15
▪ 为达到与目的数据库的无关性, ODBC采用四层的体系结 构,包括客户端、驱动程序管理器、数据库驱动程序和数
据库服务器本身。这些构件形成一条管道使命令能从客户
端到达服务器,并使状态报告和数据返回给客户端, ODBC体系结构如下图15-3所示。
客户端应用程序 ODBC定义接口
驱动管理器 ODBC定义接口
• 表数据流:这是一个应用程序层的协议,用于客户应用 程序与SQL Server 之间的通信。
• 开放数据服务:这是一个SQL Server组件,用于处理网 络连接,把客户机的请求传送给SQL Server处理,并把 结果返回给客户机。
2
▪ 15.1.2 SQL Server应用程序的开发
▪ 用户通过使用数据对象接口或API应用程序接口访问SQL Server。
6
▪ 3. SQL Server后端(服务器) ▪ SQL Server后端用来存储、操纵和管理数据。它主要是由两
个服务:MSSQL Server服务和SQL Server Agent服务组成 的。MSSQL Server服务是操纵数据库中数据的数据库引擎。 SQL Server Agent服务负责进行作业的调度、警报的处理等 任务。 ▪ 作为一个客户/服务器关系型数据库系统,SQL Server由客 户端、SQL Server对象库和服务器三个主要部分组成。 ▪ 客户端是用来与存储在后端的数据进行交互。从数据库管理 员的角度来看,SQLSQL Server Management Studio是前 端。从开发人员的角度来看,前端是任何用来和后端交互的 开发工具或者语言。 ▪ 需要不同的前端的原因是每一个用户群需要完成不同的任务。 数据库管理员需要管理数据库,而开发人员需要访问和修改 数据。
▪ ADO 应用程序通过 OLE DB 提供程序访问数据。Microsoft SQL Server 2000 包含用于 SQL Server 的本机 Microsoft OLE DB 提 供程序,可由 ADO 应用程序用于访问 SQL Server 中的数据。
▪ 如果对SQL Server 进行通用数据访问,建议首选 ADO API,原 因如象描述
对象名 Connection Command
Recordset Parameter Error
Field
描述 连接数据源
从数据源获取所需数据的命令信息, 一般是SQL语句 所获取的一组记录组成的记录集
与命令对象相关的参数
在访问数据时,由数据源所返回的错 误信息 包含了记录集中某个字段的信息
是一种标准的数据访问途径,包含在所有Microsoft Windows 操作系统中。虽然Microsoft公司对Windows不同版本中 ODBC的一些接口有一些增减,并且推出了可取代它的其它 技术,但是,ODBC在客户端和服务器组件中仍然是一种数 据库访问的有效解决方案。 ▪ 对于应用程序开发人员而言,ODBC是一个过程化的数据访 问接口。ODBC的先进之处在于它能通过相同的API和SQL语 法访问不同厂商的数据库。使用ODBC,用户不必像嵌入式 SQL一样使用厂商的专用工具来写代码,或者针对所有需要 支持的SQL数据库而编写众多客户端版本。
10
▪ OLE DB是访问数据库底层COM的应用程序接口。它适合于 开发高性能的工具、实用程序或底层组件。
▪ ODBC是一个标准的访问数据库的编程接口。通过它应用程 序可以与SQL Server进行通信。在安装SQL Server客户端的 同时,安装程序将安装一个SQL Server的ODBC驱动程序在 系统中,以提供给其它应用程序或开发环境使用。
4
▪ 15.1.3 SQL Server结构
▪ 1. SQL Server前端(客户端)
▪ SQL Server前端用于提供管理和访问存储在后端的数据的方 法。
▪ 数 据 库 管 理 员 和 开 发 人 员 最 常 用 的 前 端 管 理 工 具 是 SQL Server Management Studio,
▪ ADO数据访问对象是一组自动化对象,它使用 OLE DB API, 并使应用程序得以使用来自 OLE DB 数据源的数据。这包 括以许多不同格式存储的数据,而不仅仅是 SQL 数据库中 的数据。Visual Basic、Visual C++、和Visual FoxPro都可 以使用 ActiveX 数据对象 (ADO) API来编写数据库应用程序。 ADO数据访问对象的主要优点是易于使用、高速度、低内 存支出和占用磁盘空间较少,同时具有远程数据服务(RDS) 功能。
8
15. 2 应用程序访问SQL Server数据库
15.2.1 SQL Server数据库访问应用程序 接口(API)
15.2.2 ADO简介 15.2.3 使用ODBC连接SQL Server数据
17
▪ 在Windows NT和Windows 9x的“控制面板”中或 Windows 2000的“控制面板/管理工具”中启动“ODBC 数据源管理器”管理程序。其运行界面如下图15-4所示。
▪ 嵌入式SQL允许在程序代码中直接使用T-SQL语句。它可以 用于移植已有的其它数据库应用程序到SQL Server数据库上。
▪ DB-Libray是一组由C语言函数和宏定义组成的、用于访问 SQL Server的API库文件。开发MS-DOS版本的SQL Server 数据库应用程序时需要用到它。
7
15. 2 应用程序访问SQL Server数据库
▪ 在实际的数据库应用系统中,一般不会使用SQL Server 2000作为用户界面,让每一个用户都去学习T-SQL语法和 企业管理器的操作是不现实的。SQL Server本身是作为一 种数据库服务而存在的,必须使用其它的开发环境为应用 系统设计处理逻辑和用户界面。另一方面,实际应用中很 可能会需要从其它数据库系统中获取已经存在的数据,或 者把SQL Server数据表的数据使用到其它数据库系统或实 用软件中,使用SQL Server 2000的导入导出功能可以完成 这样的任务。本章的主要内容如下:
3
▪ 2. 数据对象接口 ▪ 数据对象接口比数据库API更容易使用,但功能没有API丰富。 ▪ Active X 数据对象(ADO):是一个在简化数据模型中封装
的OLE DB API,它降低了应用程序开发和维护的成本。ADO 可以在VB、VC、ASP和Internet Explorer中使用; ▪ 远程数据对象(RDO):RDO映射和封装ODBC API,可以 在VB、VC中使用。
▪ 另外,其它一些公司的集成开发环境也会提供自己的数据库 访问接口,比如Inprise公司(Borland公司)的数据库引擎 Borland Database Engine(BDE)。该公司著名的Delphi和 C++ Builder开发环境在访问数据库时都需要使用该接口,并 且BDE可以直接引用ODBC的数据源定义。
第15章 SQL Server 2005数据库开 发技术
15. 1 SQL Server 2005 数据库体系结构 15. 2 应用程序访问SQL Server数据库 15. 3 基于C/S体系结构的数据库访问技术 15. 4 基于B/S体系结构的数据库访问技术 15. 5 数据导入与导出
返回目录
15. 1 SQL Server 2005 数据库体系结构
• ADO 易于学习和编程
• ADO 具有大多数通用应用程序所需的功能集
• ADO 使程序员能够快速生成功能强大的应用程序
• ADO 支持 SQL Server 2000 的 XML 功能 本节首页 14
15.2.3 使用ODBC连接SQL Server数据库
▪ 1. ODBC简介 ▪ 开放式数据库连接(Open Database Connectivity, ODBC)
库
本章首页
9
15.2.1 SQL Server数据库访问应用程序 接口(API)
▪ Microsoft SQL Server 2000提供了多种API,它使得其它应 用程序能够访问数据库资源,这些API被称为数据库访问 API。数据库访问API允许应用程序执行一段T-SQL语句来访 问一个关系数据库的数据,它以平面结果集(行集)或XML 文件为应用程序返回结果。这些API有:ADO、OLE DB、 ODBC、嵌入式SQL和DB-Libray等。
▪ 15.1.1 SQL Server的通信
• 应用程序:采用数据库应用程序接口(API)开发,不 需要了解与SQL Server通信的底层协议。
• 数据库接口:这是应用程序给SQL Server发送请求和处 理SQL Server返回结果的接口。
• 网络库:这是一个通信软件包。对数据库请求和结果打 包,由合适的网络协议传送,客户机和服务器上都必须 安装。
13
▪ 如果已经安装了ADO或是使用Windows 2000操作系统,那么, ADO对象的相关信息就已经注册在系统中了。如果还没有安装 ADO,那么可以到Microsoft的网站下载最新的ADO版本安装。 一旦系统中安装了ADO,它将以ActiveX控件形式提供给开发工 具使用,ActiveX控件也称之为ADO数据控件。
本节首页 11
15.2.2 ADO简介
ADO(ActiveX Data Object)数据访问接口使得程序设计者只 要简单地创建几个对象便可以连接数据来源、获取所需的数 据和进行数据访问后的保存操作。ADO对象模型定义了一个 可编程的分层对象集合,主要由三个对象成员:Connection (连接)对象、Command(命令)对象和Recordset(记录 集)对象,以及几个集合对象:Errors(错误)、 Parameters(参数)和Fields(字段)等所组成。图15-1表 示了这些对象彼此之间的关系。
驱动程序接口
数据库驱动程序 专用通信协议
数据库服务器
16
▪ 2. 配置ODBC数据源 ▪ 为了连接到SQL Server数据库服务器,必须在ODBC中配
置SQL Server数据源。数据源存储了如何与指定数据库提 供者(如SQL Server)连接的信息。数据源名(DSN)是 用文本关键字标识应用程序将要使用的连接记录,它有三 种类型:基于文件的、系统的和用户的。 ▪ 系统DSN对于同一计算机或服务器上的所有用户都是可用 的,而用户DSN只能被当前登录的用户管理和使用。文件 DSN是以INI文件形式存储的数据源配置,它可以存放在本 地磁盘中或网络映射驱动器中,可以被安装了相同ODBC数 据库驱动程序的所有用户共享。
▪ 开发人员可以用SQL语句编码或用其它的SQL Server开发工 具(例如Visual Basic和Visual C++)来开发客户端应用程 序供终端用户访问数据。
5
▪ 2. SQL Server对象库 ▪ SQL Server对象库是一个中间层组件,它是作为前端和后
端之间的一个中间层而起作用的。它使任何的前端能与后 端通信。在某种意义上,它起到了接口或是翻译器的作用。 ▪ ⑴ 对象链接与嵌入(OLE) ▪ 对象链接与嵌入是一个程序开发技术的工业标准,它由微 软开发,用于应用程序之间的通信。它不但提供了在应用 程序之间交换数据的一种方式,而且还将应用程序的部分 功能作为“对象”出现,以使其它应用程序可以加以使用。 ▪ ⑵ 开放数据服务(ODS) ▪ 开放数据服务是服务器端的应用程序编程接口(API), 用来集成SQL Server与外部的应用系统和数据源。
▪ 1. 应用程序接口 ▪ 数据库API定义一个应用程序如何连接到数据库,如何把命
令传送给数据库。SQL Server提供两大类的数据库API: ODBC 及OLE DB。 ▪ ODBC:ODBC是一个调用级的接口,它直接访问TDS,并 支持使用ODBC数据对象接口写的应用程序或组件; ▪ OLE DB:OLE DB是一个基于组件对象模型(COM)的数 据访问接口,它支持使用OLE DB数据对象接口写的应用程 序。
15
▪ 为达到与目的数据库的无关性, ODBC采用四层的体系结 构,包括客户端、驱动程序管理器、数据库驱动程序和数
据库服务器本身。这些构件形成一条管道使命令能从客户
端到达服务器,并使状态报告和数据返回给客户端, ODBC体系结构如下图15-3所示。
客户端应用程序 ODBC定义接口
驱动管理器 ODBC定义接口
• 表数据流:这是一个应用程序层的协议,用于客户应用 程序与SQL Server 之间的通信。
• 开放数据服务:这是一个SQL Server组件,用于处理网 络连接,把客户机的请求传送给SQL Server处理,并把 结果返回给客户机。
2
▪ 15.1.2 SQL Server应用程序的开发
▪ 用户通过使用数据对象接口或API应用程序接口访问SQL Server。
6
▪ 3. SQL Server后端(服务器) ▪ SQL Server后端用来存储、操纵和管理数据。它主要是由两
个服务:MSSQL Server服务和SQL Server Agent服务组成 的。MSSQL Server服务是操纵数据库中数据的数据库引擎。 SQL Server Agent服务负责进行作业的调度、警报的处理等 任务。 ▪ 作为一个客户/服务器关系型数据库系统,SQL Server由客 户端、SQL Server对象库和服务器三个主要部分组成。 ▪ 客户端是用来与存储在后端的数据进行交互。从数据库管理 员的角度来看,SQLSQL Server Management Studio是前 端。从开发人员的角度来看,前端是任何用来和后端交互的 开发工具或者语言。 ▪ 需要不同的前端的原因是每一个用户群需要完成不同的任务。 数据库管理员需要管理数据库,而开发人员需要访问和修改 数据。
▪ ADO 应用程序通过 OLE DB 提供程序访问数据。Microsoft SQL Server 2000 包含用于 SQL Server 的本机 Microsoft OLE DB 提 供程序,可由 ADO 应用程序用于访问 SQL Server 中的数据。
▪ 如果对SQL Server 进行通用数据访问,建议首选 ADO API,原 因如象描述
对象名 Connection Command
Recordset Parameter Error
Field
描述 连接数据源
从数据源获取所需数据的命令信息, 一般是SQL语句 所获取的一组记录组成的记录集
与命令对象相关的参数
在访问数据时,由数据源所返回的错 误信息 包含了记录集中某个字段的信息
是一种标准的数据访问途径,包含在所有Microsoft Windows 操作系统中。虽然Microsoft公司对Windows不同版本中 ODBC的一些接口有一些增减,并且推出了可取代它的其它 技术,但是,ODBC在客户端和服务器组件中仍然是一种数 据库访问的有效解决方案。 ▪ 对于应用程序开发人员而言,ODBC是一个过程化的数据访 问接口。ODBC的先进之处在于它能通过相同的API和SQL语 法访问不同厂商的数据库。使用ODBC,用户不必像嵌入式 SQL一样使用厂商的专用工具来写代码,或者针对所有需要 支持的SQL数据库而编写众多客户端版本。
10
▪ OLE DB是访问数据库底层COM的应用程序接口。它适合于 开发高性能的工具、实用程序或底层组件。
▪ ODBC是一个标准的访问数据库的编程接口。通过它应用程 序可以与SQL Server进行通信。在安装SQL Server客户端的 同时,安装程序将安装一个SQL Server的ODBC驱动程序在 系统中,以提供给其它应用程序或开发环境使用。
4
▪ 15.1.3 SQL Server结构
▪ 1. SQL Server前端(客户端)
▪ SQL Server前端用于提供管理和访问存储在后端的数据的方 法。
▪ 数 据 库 管 理 员 和 开 发 人 员 最 常 用 的 前 端 管 理 工 具 是 SQL Server Management Studio,
▪ ADO数据访问对象是一组自动化对象,它使用 OLE DB API, 并使应用程序得以使用来自 OLE DB 数据源的数据。这包 括以许多不同格式存储的数据,而不仅仅是 SQL 数据库中 的数据。Visual Basic、Visual C++、和Visual FoxPro都可 以使用 ActiveX 数据对象 (ADO) API来编写数据库应用程序。 ADO数据访问对象的主要优点是易于使用、高速度、低内 存支出和占用磁盘空间较少,同时具有远程数据服务(RDS) 功能。