DBMNG数据库管理与应用

才能是来自独创性。独创性是思维、观察、理解和判断的一种独特的方式。
当前位置:首页 > Access > 技术手册

1.3为Microsoft数据引擎创建Access数据项目

M i c r o s o f t希望在客户/服务器关系型数据库管理系统 ( R D B M S )市场上占有更大的份额。因
此 在Access 2000中包含了Microsoft 数据引擎 ( M S D E )—Microsoft SQL Server 7.0的嵌入版。
M S D E可以运行在 Windows 9x和Windows NT 4.0以及2 0 0 0工作站和服务器上。对于 Wi n d o w s
NT Server来说,M S D E和SQL Server 7.0之间存在的差异如下:
• M S D E数据库文件的最大尺寸上限为2 G B。SQL Server数据库文件的尺寸上限取决于可用
的物理磁盘空间的大小。
• MSDE 所支持的同时用户数是固定的。SQL Server 7.0则具有自动调整的功能,可以为上
百个连接进行性能优化,如果是企业版,那么可以支持的连接数目能够达到上千个。
• M S D E没有包含 SQL Server 7.0的企业管理器数据库管理工具,该工具可以作为一个
Microsoft 管理控制台咬接机运行在 Windows NT 4.0+之下。你可以用Access 2000包含的
企业管理器子集来创建和修改数据库。 MSDE 的确包含了 SQL Server的数据转换服务
( D T S ),可用于导入和导出 SQL Server 数据。
提示 Microsoft声明MSDE适用于较小的工作组( 成员不多于5个),并且随着你添加更多的同时用
户,其性能将会恶化。MSDE 能支持的同时用户的实际数目基本上是由可用的PC 资源 (主要是
R A M )来决定的。一个 233+ MHz 的Pentium II,如果有 128MB RAM,且运行 Windows NT
Wo r k s t a t i o n作为一个对等服务器时,可以为大约2 5名或者更多的用户同时运行决策支持应用提供
足够的性能。
A c c e s s数据项目 (ADP) 允许你将传统的 Access 2000 窗体和报表直接连接到 SQL Server
7 . 0 / M S D E,取代了使用 Jet 4.0数据库引擎时所使用的 OLE DB和A c t i v e X数据对象 ( A D O )。
OLE DB提供了到J e t、客户/服务器和各种其他数据源类型的 Common Object Model (COM)连
接,是M i c r o s o f t的新的通用数据访问 (UDA) 体系结构的主要元素。ADO 2.1作为OLE DB 的一
个自动控制“包装”,使得A c c e s s窗体、报表、页、项目和模块可以作为 OLE DB 数据消费者。
与D A P相似,A D P有其自己的文件结构,并且没有把对象存储在 Access .mdb 文件中; ADP 使
用的是Microsoft 复合文档文件 (DocFile) 格式,扩展名为 . a d p。
如想学习U D A、OLE DB和A D O是如何应用于M i c r o s o f t的数据访问的,见第 2 7章“透视
M i c r o s o f t新的数据访问组件”。
第1章 Access 2000的新增功能 5
下载注意 Microsoft把ADP简单地称为项目。术语“项目”(project)在数据库应用开发环境中意思较
为含混;即使创建一个简单的 Jet 数据库和少量应用对象也可以称之为一个项目。因此本书在指称
Access 2000项目时使用的是项目文件的扩展名 ADP。
1.3.1 新的ADP工具和对象
A D P向Access 用户和开发人员引入了如下的新工具和对象:
• 客户服务器可视化设计工具 代替了A c c e s s的“表设计”视图和“查询设计”视图。这
些工具常常以其代号名(da Vi n c i工具箱)进行称呼,与Visual Studio 6.0所使用的那些相
同。
• 视图 代替了A c c e s s的选择查询。视图是已预编译好的选择查询,它有一个重要的限制
—你不能使用 ORDER BY 来排序一个视图。但是,你可以在A D P中排序视图。
• 存储过程 代替了A c c e s s的操作和参数查询。存储过程是已预编译好的查询,它还可以包
含已排序的选择查询,这与Jet 的QueryDef 对象有些相似。对于M S D E和 SQL Server 6.5+,
存储过程可以用Tr a n s a c t - S Q L进行编写,Tr a n s a c t - S Q L是M i c r o s o f t风格的ANSI SQL。
• 数据库图表 代替了A c c e s s的“关系”窗口。数据库图表是一个特殊类型的 SQL Server
对象。你可以使用数据库图表来创建和编辑数据库表之间的关系,还可以用它来添加、
修改或者删除表。
• 数据链接 用以说明当前Access 应用对象(窗体、报表、页和模块)之间的OLE DB/ADO
连接的属性。
• 触发器 是在你追加、删除、更新一个或者多个表时所激发执行的存储过程。可以用
Tr a n s a c t - S Q L编写触发器。
1.3.2 NorthwindCS 项目和da Vinci 工具箱的深入研究
N o r t h w i n d C S . a d p示 例 项 目 和 NorthwindCS.sql 脚 本 (一 种 S Q L批 处 理 文 件 )位
于. . . \ O ffice\Samples 文件夹之下。
提示 在Wo r d P a d中打开NorthwindCS.sql 脚本,仔细研究一下如何用Transact SQL创建表和向表
追加新记录(该脚本太大,N o t e p a d无法胜任)。E m p l o y e e s表的Photo 字段和C a t e g o r i e s表的P i c t u r e
字段的图像数据是以十六进制字节串的形式出现的。SQL Server 不支持 Access的 OLE Object 字
段数据类型,所以图像是以其本来的二进制 (.bmp/.dib 位图) 格式存储的。在退出WordPad时不要
保存,以防你不小心对该脚本做了某些改动。
如果想试运行一下A D P和da Vi n c i工具箱,可参照如下的做法:
1) 安装并启动M S D E,如本章的1 . 1 0节“安装和配置Microsoft 数据引擎”中所述。
2) 在A c c e s s中,选择“文件”,“打开”并双击 N o r t h w i n d C S . a d p。“打开”对话框关闭,紧
接着出现一个消息框问你是否想安装示例数据库。
3) 单击“是”,在你的本地M S D E服务器上从NorthwindCS.sql 脚本创建 NorthwindCS 数据
库。创建该数据库在较快的P C上大约需要花费一分钟。
4) 单击“确定”,关闭Northwind Tr a d e r s欢迎屏幕。
5) 在“数据库”窗口中,打开一个现有的表或者视图。“数据表”视图几乎与A c c e s s的完
全相同。ADP 添加了两个记录浏览按钮,一个“x”按钮在数据表被加载时将变为红色;还有
一个最大记录数按钮,用于打开一个滑标对向数据表返回的最大记录数进行设置 (见图1 - 3 )。
默认的最大记录值是10 000。
6 第一部分 Access基础 下载图1-3 “数据表”视图中的MSDE NorthwindCS示例数据库的Orders 表
6) 在“设计”视图中打开Orders 表。da Vinci 表设计视图与A c c e s s用于Jet 数据库的版本或
者附加到J e t的表差异很大,在图1 - 4中可以明显地看出来。
图1-4 用于表的客户服务器可视化工具 (da Vinci)
注意 MSDE/SQL Server主关键字字段
(这里是O r d e r I D )的i d e n t i t y属性代替了J e t
的AutoNumber (以前为Counter) 字段数据
类型。你可以很容易地设置第一个值 (种
子,默认情况下为1 )和增量值(增量属性,
默认值也为1 )。只有i d e n t i t y字段可以接
受种子和增量值。I s R o w G U I D属性指示
该字段包含有一个自动生成的全球唯一
标识符 ( G U I D,读做“g o o - i d”),它主
要用于在复制时对行进行标识。允许
Null值的约束与Jet的要求字段属性相反。
7) 在“设计”模式打开Order Details
的扩展视图并确保工具栏上的三个视图
按钮—图表、网格和S Q L—是打开的
(处于下压状态)。da Vinci 视图设计器仿
效的是A c c e s s的查询设计和 S Q L视图的
组合,如图1 - 5中所示。
第1章 Access 2000的新增功能 7
下载
数据装载 最大记录
图1-5 da Vinci视图设计工具为Order Details 扩展视图
显示出字段列表、连接线、列属性和SQL语句将鼠标移动到其显示为“ INNER JOIN:Products.ProductID = [Order Details].ProductID”
的连接符号之上。右击连接符号并选择“属性”为该连接打开属性页,在该属性页中可以指定
是使用R I G H T还是LEFT OUTER JOIN。
8) 单击“数据库”窗口中的数据库图表快捷方式并双击关系快捷方式,打开 da Vi n c i“关
系:图表”窗口,它只提供“设计”模式(见图1 - 6 )。
图1-6 da Vinci 数据库图表工具显示的是NorthwindCS 数据库的关系图表
提示 数据库图表以外部关键字 ( F K )和主关键字( P K )表示连接CHECK (CK) 约束,因为S Q L
Server 数据库维护参照完整性( R I )的默认方法是声明型参照完整性 ( D R I )。SQL Server 7.0/MSDE
不支持 J e t带有D R I的级联删除和更新。触发器是D R I的一种备选方法,它用级联删除或更新来维
护MSDE表的RI。
9) 右击一个连接符号并选择“属性”打开更为完善的属性页。图 1 - 7给出的是数据库图表
的带选项卡的对话框,该对话框用于连接和表约束。
10) 选择“数据库”窗口的存储过程快捷方式
并在“设计”模式中打开 Sales by Year 参数过程。
图1 - 8给出的是da Vi n c i存储过程编辑窗口,其上显
示有为了易读性而重新格式化后的 Tr a n s a c t - S Q L语
句。与V B A编辑器相似,da Vinci 编辑器也使用蓝
色表示Transact-SQL 保留字。数据类型 ( d a t e t i m e )是
以绿色显示的; W H E R E子句约束中的关键字 ( N o t
N u l l、A n d和B e t w e e n )为橄榄色;别名( Ye a r )为红色。
这些值都是默认的;你可以在V B A编辑器的“选项”
对话框下的“编辑器格式”选项卡中改变这些颜色。
V B A 编辑器是下一节的主题;参见 1 . 4 节
“O ffice VBA编辑器和A c c e s s的集成”。
A LTER PROCEDURE 命令是在 SQL Server
7.0/MSDE Transact SQL中新增的,其他新增的命令
还有 A LTER VIEW 和 A LTER TA B L E。当你创建一
8 第一部分 Access基础 下载
图1-7 Products 表UnitPrice 字段上一个
约束“属性”页的表页个新存储过程时,da Vinci 编辑器将提供一个过程占位程序,但其用途并不大。
图1-8 da Vinci 编辑窗口中的Sales by Year参数存储过程
11) 返回“数据库”窗口并单击对象栏的表
快捷方式。右击一个表,例如 Order Details,从
上下文菜单中选择“触发器”,打开“表触发器:
Order Details”对话框。单击“新建”,打开d a
Vi n c i“Order Details_Tr i g g e r 1:触发器”编辑窗
口。该窗口在打开时提供了一个触发器占位程序,
但其用途与在新建存储过程中一样,也不是很大
(见图1 - 9 )。
你必须有Transact SQL的工作经验才能编写插
入、删除,或者更新触发器,以便当修改一个表
的数据时用之维护参照完整性或者执行其他操作。
幸运的是,新的A c c e s s升迁向导 ( A U W )可以沉着应付表和大多数查询从J e t到SQL Server的
转换。在升迁过程中,该向导允许你选择是将你的 Access 2000应用对象转移到A D P还是将它
们保持在一个 . m d b文件中。不幸的是,Access 2000 AUW不支持以前的A c c e s s版本。更为不幸
的是,当前的Access 97和更早的升迁向导不支持 SQL Server 7.0/MSDE。
关于A U W限制的更多信息,参见2 5 . 6节“使用升迁向导来创建A D P”。
注意 ADP引入了另外一种.ade 文件类型,用以防止他人在“设计”视图中打开你的对象,阅读
你的 VBA 源代码,导入或者导出窗体。.ade 文件类型是ADP对.mde 文件的模拟。Microsoft声明:
Access 2000的 .ade 文件在以后的版本中将不再运行。你可以将你的项目保存为.ade 格式,只要
选择“工具”,“数据库实用工具”,“创建ADE 文件”即可。

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号