SQL 第15章 数据库实际应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
返回目录
15. 1 应用程序访问 应用程序访问SQL Server数据库 数据库
在实际的数据库应用系统中,一般不会使用SQL Server 2000作为用户界面,让每一个用户都去学习T-SQL语法和 企业管理器的操作是不现实的。SQL Server本身是作为一 种数据库服务而存在的,必须使用其它的开发环境为应用 系统设计处理逻辑和用户界面。另一方面,实际应用中很 可能会需要从其它数据库系统中获取已经存在的数据,或 者把SQL Server数据表的数据使用到其它数据库系统或实 用软件中,使用SQL Server 2000的导入导出功能可以完 成这样的任务。本章的主要内容如下: 在应用程序或开发环境中连接SQL Server数据库 SQL Server数据表的导入与导出
13
在驱动程序列表中选择“SQL Server”驱动程序,表明将 建立一个访问SQL Server数据库服务器的连接。点击“完 成”后系统显示“建立新的数据源到SQL Server”向导对 话框,如图15-5所示。根据选择的驱动程序不同,ODBC 管理器将显示不同的建立数据源向导,此后的建立操作会 有所不同。
15
可以根据需要选择使用Windows NT验证还是使用SQL Server验证。点击“客户端配置”可以配置客户端连接服 务器使用的通讯协议和端口。选择“连接SQL Server以获 取其它选项的默认配置”复选框,将会在进入下一步操作 前使用选项下方输入框中输入的用户名和密码连接到SQL Server服务器。如果服务器没有启动或者在上一步操作中 输入的服务器名称不正确,或者网络连接存在故障都会显 16 示错误提示框,并且不能进入下一步操作。
14
在“名称”输入框中输入新数据源的名称,这个名称将被 要访问数据库的应用程序使用。在“说明”中可以输入对 该数据源的说明文字。在“服务器”下拉框中选择需要连 接的SQL Server数据库服务器名称,如果没有显示服务器 名称,可以手工输入。点击“下一步”,系统显示如图 15-6的“建立新的数据源到SQL Server”的窗口。
10
驱动程序接口
2. 配置ODBC数据源 为了连接到SQL Server数据库服务器,必须在ODBC中配 置SQL Server数据源。数据源存储了如何与指定数据库提 供者(如SQL Server)连接的信息。数据源名(DSN)是 用文本关键字标识应用程序将要使用的连接记录,它有三 种类型:基于文件的、系统的和用户的。 系统DSN对于同一计算机或服务器上的所有用户都是可用 的,而用户DSN只能被当前登录的用户管理和使用。文件 DSN是以INI文件形式存储的数据源配置,它可以存放在本 地磁盘中或网络映射驱动器中,可以被安装了相同ODBC数 据库驱动程序的所有用户共享。
7
如果已经安装了ADO或是使用Windows 2000操作系统,那么, ADO对象的相关信息就已经注册在系统中了。如果还没有安装 ADO,那么可以到Microsoft的网站下载最新的ADO版本安装。 一旦系统中安装了ADO,它将以ActiveX控件形式提供给开发工 具使用,ActiveX控件也称之为ADO数据控件。 ADO 应用程序通过 OLE DB 提供程序访问数据。Microsoft SQL Server 2000 包含用于 SQL Server 的本机 Microsoft OLE DB 提 供程序,可由 ADO 应用程序用于访问 SQL Server 中的数据。 如果对SQL Server 进行通用数据访问,建议首选 ADO API,原 因如下: ADO 易于学习和编程 ADO 具有大多数通用应用程序所需的功能集 ADO 使程序员能够快速生成功能强大的应用程序 ADO 支持 SQL Server 2000 的 XML 功能 本节首页
6
表15-1 ADO编程模型关键对象描述
对象名 Connection Command Recordset Parameter Error Field 描述 连接数据源 从数据源获取所需数据的命令信息, 一般是SQL语句 所获取的一组记录组成的记录集 与命令对象相关的参数 在访问数据时,由数据源所返回的错 误信息 包含了记录集中某个字段的信息
5
15.1.2 ADO简介
ADO(ActiveX Data Object)数据访问接口使得程序设计者只 要简单地创建几个对象便可以连接数据来源、获取所需的数 据和进行数据访问后的保存操作。ADO对象模型定义了一个 可编程的分层对象集合,主要由三个对象成员:Connection (连接)对象、Command(命令)对象和Recordset(记录 集)对象,以及几个集合对象:Errors(错误)、 Parameters(参数)和Fields(字段)等所组成。图15-1表 示了这些对象彼此之间的关系。
18
为了在数据库应用程序中显示数据,将用CRecordview对象 替代AppWizard应用程序中的常规窗口。—个CRecordView 窗口类似于应用程序中用于显示的对话框窗口。这个窗口保 持与应用程序的CRecordset对象相连接,并能够在窗口控件 和记录集合之间传送数据。当我们使用AppWizard创建一个 新的数据库应用程序时,必须向CRecordView窗口添加各种 合适的编辑控件。这些编辑控件必须与它们将要显示的数据 库字段绑定,以便应用程序知道在什么地方显示需要观察的 数据。 用VC创建一个ODBC数据库应用程序,首先要在系统中使用 ODBC管理器注册数据库,也就是前面讲解的增加数据源。 然后使用AppWizard创建基本的数据库应用程序,VC将自动 产生一些基本的代码。最后,向基本数据库应用程序中添加 代码,以便实现AppWizard不能自动支持的一些数据库特性。 本节首页
OLE DB是访问数据库底层COM的应用程序接口。它适合于 开发高性能的工具、实用程序或底层组件。 ODBC是一个标准的访问数据库的编程接口。通过它应用程 序可以与SQL Server进行通信。在安装SQL Server客户端的 同时,安装程序将安装一个SQL Server的ODBC驱动程序在 系统中,以提供给其它应用程序或开发环境使用。 嵌入式SQL允许在程序代码中直接使用T-SQL语句。它可以 用于移植已有的其它数据库应用程序到SQL Server数据库上。 DB-Libray是一组由C语言函数和宏定义组成的、用于访问 SQL Server的API库文件。开发MS-DOS版本的SQL Server 数据库应用程序时需要用到它。 另外,其它一些公司的集成开发环境也会提供自己的数据库 访问接口,比如Inprise公司(Borland公司)的数据库引擎 Borland Database Engine(BDE)。该公司著名的Delphi和 C++ Builder开发环境在访问数据库时都需要使用该接口,并 且BDE可以直接引用ODBC的数据源定义。 本节首页
8
15.1.3 使用ODBC连接SQL Server数据库
1. ODBC简介 开放式数据库连接(Open Database Connectivity, ODBC) 是一种标准的数据访问途径,包含在所有Microsoft Windows 操作系统中。虽然Microsoft公司对Windows不同版本中 ODBC的一些接口有一些增减,并且推出了可取代它的其它 技术,但是,ODBC在客户端和服务器组件中仍然是一种数 据库访问的有效解决方案。 对于应用程序开发人员而言,ODBC是一个过程化的数据访 问接口。ODBC的先进之处在于它能通过相同的API和SQL语 法访问不同厂商的数据库。使用ODBC,用户不必像嵌入式 SQL一样使用厂商的专用工具来写代码,或者针对所有需要 支持的SQL数据库而编写众多客户端版本。
选择“更改默认的数据库为”复选框,在下方的下拉框中选 择当前连接的SQL Server数据库服务器中的一个数据库作 为默认数据库,这样,连接数据库的客户端应用程序就将选 中的这个数据库作为默认的使用数据库。点击“下一步”, 再点击“完成”,此时系统将显示如图15-8的 “ODBC Microsoft SQL Server安装”的对话框窗口,该窗口显示了 对这个新数据源主要的连接描述,点击“测试数据源”,可 以测试新数据源是否正确地连接到SQL Server数据库。
2
15. 1 应用程序访问 应用程序访问SQL Server数据库 数据库 15.1.1 SQL Server数据库访问应用程序 接口(API) 15.1.2 ADO简介 15.1.3 使用ODBC连接SQL Server数据 库
本章首页
3
15.1.1 SQL Server数据库访问应用程序 数据库访问应用程序 接口( 接口(API) )
第15章 SQL Server数据库实际应用 章 数据库实际应用
15. 1 应用程序访问SQL Server数据库 应用程序访问 数据库 15. 2 使用 使用ADO数据控件访问 数据控件访问SQL Server数 数据控件访问 数 据库示例 15. 3 使用 使用ODBC接口访问 接口访问SQL Server数据库 接口访问 数据库 示例 15. 4 数据导入与导出数据
11
在Windows NT和Windows 9x的“控制面板”中或 Windows 2000的“控制面板/管理工具”中启动“ODBC 数据源管理器”管理程序。其运行界面如下图15-3所示。
12பைடு நூலகம்
ODBC管理器中有七个选项卡,前三个是配置三种类型的数据源, 后四个是对整个系统的配置。“驱动程序”:用于显示用户系统中 已安装的所有数据库驱动程序,可以根据其中的信息检查是否有我 们需要的驱动程序;“跟踪”:用于控制ODBC跟踪行为,该特性 对调试和性能检测很有用;“连接池”:可以根据客户端应用程序 与数据源的连接情况,重用数据连接,从而节省系统资源。 配置系统数据源与配置用户数据源的操作相似。点击“用户DSN”或 “系统DSN”,然后,点击“添加”按钮,开始添加一个新的数据源, 这时,系统弹出如图15-4所示的“创建新数据源”的对话窗口。
9
为达到与目的数据库的无关性, ODBC采用四层的体系结 构,包括客户端、驱动程序管理器、数据库驱动程序和数 据库服务器本身。这些构件形成一条管道使命令能从客户 端到达服务器,并使状态报告和数据返回给客户端, ODBC体系结构如下图15-2所示。
客户端应用程序 ODBC定义接口 驱动管理器 ODBC定义接口 数据库驱动程序 专用通信协议 数据库服务器
17
3. Visual C++ 的ODBC类 当用Visual C++ AppWizard创建数据库程序时,将产生一 个建立在各种ODBC类之上的应用程序,这些类已包含在 MFC中,在这些类中,重要的有CDatabase、 CRecordset和CRecordView。 AppWizard自动地生成创建一个CDatabase类对象所需要 的代码。这一对象表示了应用程序与要访问的数据源之间 的连接关系。在大多数情况下,在用AppWizard生成的程 序中采用CDatabase类对程序员来说是透明的。 AppWizard也可以生成应用程序中所需要的CRecordset对 象的代码。CRecordset对象表示当前从数据源中选择出来 的实际数据,它的成员函数处理来自数据库的数据。
Microsoft SQL Server 2000提供了多种API,它使得其它应 用程序能够访问数据库资源,这些API被称为数据库访问 API。数据库访问API允许应用程序执行一段T-SQL语句来 访问一个关系数据库的数据,它以平面结果集(行集)或 XML文件为应用程序返回结果。这些API有:ADO、OLE DB、ODBC、嵌入式SQL和DB-Libray等。 ADO数据访问对象是一组自动化对象,它使用 OLE DB API, 并使应用程序得以使用来自 OLE DB 数据源的数据。这包 括以许多不同格式存储的数据,而不仅仅是 SQL 数据库中 的数据。Visual Basic、Visual C++、和Visual FoxPro都可 以使用 ActiveX 数据对象 (ADO) API来编写数据库应用程序。 ADO数据访问对象的主要优点是易于使用、高速度、低内 存支出和占用磁盘空间较少,同时具有远程数据服务(RDS) 功能。 4