首页>参考读物>计算机科学与技术>软件与程序设计

ASP数据访问高级编程
作者 : (英)Dino Esposito
译者 : 程永敬 董启雄等译
出版日期 : 2001-10-01
ISBN : 7-111-09195-7
定价 : 108.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 1083
开本 : 16开
原书名 : Professional ASP Data Access
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书是一本创建以数据为中心的ASP应用程序的完全指南。从数据库设计原理开始讲解,涵盖了建立用于数据访问的COM组件等内容,还包括一些高级话题,例如数据仓库技术和数据挖掘技术等。此外,本书还全面讲述了关系型数据库,例如SQL Server 、Oracle和DB2, 同时也讲述了非关系型数据存储,例如Exchange 2000 、目录服务、遗留数据和XML 等。无论数据保存在什么地方,本书都将帮助你编写出功能强大的ASP 应用程序,来充分使用你所有的重要信息。

图书前言

自从1997年首次出现相关介绍以来,Microsoft公司的Active Server Pages(ASP)技术已经有了长足的改进,并且几乎已经处于当今Internet应用程序开发的领导地位。而一个Internet应用程序最为核心的部分就是“数据访问”。无论是通过传统的关系型数据库,还是使用其他一些目录服务或XML这样的技术,无论应用程序使用哪种方式来存储和检索信息,对于开发一个成功的应用程序来说,总是需要对所使用的数据格式,以及如何通过ASP来高效地操纵这些数据有一个彻底的理解。
本书的主要内容恰好就是关于上述内容的:如何通过ASP来高效地对数据进行操纵,而这些数据可能有各式各样不同的数据存储方式:SQL Server、Oracle、IBM的DB2、Active Directory、Novell Directory Services、Exchange 2000等等。但是,本书的内容并不止这些。我们还详细地探讨了多层应用程序的高效设计与实现,阐述了XML不仅可以用做数据“存储”的方法,还可以用做数据“传输”的媒介,提供了使用数据挖掘技术作为从数据中提取有用信息的一种方式,并讨论了关于安全和性能方面的问题。
本书的读者对象
本书针对的读者对象是那些已经具有使用ASP、使用组件和数据存取经验的开发人员,而且他们希望进一步加深通过ASP应用程序对数据进行操作的复杂性、以及如何对来自各式各样不同类型数据源的数据进行存取这些方面的理解。本书为那些想要使用ASP开发现实中重要的Internet应用程序的人们提供了丰富的必备资料,其中还包含了大量的实例,以便能够高效地发挥当前数据存取技术的全部功能。
本书中大部分的实例都是基于VBScript和Visual Basic完成的,我们假定读者对其已经有一定程度的了解。当然,也有一部分实例是使用JavaScript和Visual C++完成的,但即使你以前没有使用过这两种工具,也不用太担心。
与所有“Wrox程序员参考系列”图书相似,本书的目的是为了给开发人员提供一些深层次的资料。本书不是ASP或者数据存取技术的入门书。如果你对ASP的使用还不太熟悉的话,可以看看相关初级类图书。
本书内容
本书重点介绍通过Active Server Pages 3.0对数据进行操纵的方法,Active Server Pages 3.0已包含在了Windows 2000中。然而,数据存储可能使用的方式有很大的不同;并且,数据确切的存储方式将会在很大程度上牵扯着将其与ASP应用程序进行整合的方式。
本书覆盖了通过ASP应用程序存储和访问数据的所有领域:使用关系型数据库,例如SQL Server、Oracle、IBM的DB2以及开放源代码(open source)组织的MySQL;通过目录服务访问数据,例如Novell Directory Services(NDS)和Microsoft的Active Directory;此外还涉及遗留数据的使用、XML、数据挖掘技术以及数据整形技术(data shaping)。
本书在介绍数据访问的同时,也介绍了较为常规的ASP应用程序开发内容,包括在多层体系结构中进行开发、使用COM+以及安全和性能方面的问题。
下面,让我们简要浏览一下本书各章所覆盖的内容。
第1章 ASP、数据和数据库
本章对下列内容进行了概述:数据存储技术、Internet在应用程序开发方面带来的影响,以及各种数据访问技术,包括ODBC、OLE DB以及ADO。
第一部分 数据库基本原理
第2章 数据库设计思想
本章对数据库的设计进行了研究,主要探讨了平面文件和关系型数据库之间的区别、如何确保数据的完整性的问题、标准化问题、使用索引、视图以及存储过程和性能等方面的问题。
第3章 SQL编程
本章提供了有关使用SQL的深入话题,包括如何使用SQL访问和存储数据,使用JOIN来访问多个表,创建和更改表,以及事务处理过程。
第4章 存储过程、触发器和视图
本章在第3章的基础上,探讨了关于存储过程、触发器、视图的构造和使用方法。
第二部分 数据访问
第5章 数据访问简介
本章提供了有关数据访问技术的深层次的内容,包括:开放式数据库互连(Open DataBase Connectivity,ODBC)、数据访问对象(Data Access Objects,DAO)、远程数据对象(Remote Data Objects,RDO)、ODBCDirect、ActiveX数据对象(ActiveX Data Objects,ADO)以及OLE DB。
第6章 OLE DB
本章将对OLE DB提供者进行更为详尽的讨论。具体来讲,我们将学习OLE DB对象及其接口以及使用OLE DB来访问数据的方法。
第7章 ActiveX数据对象
本章提供了关于ADO对象模型的详尽内容,包括:使用ADO来连接到一个数据库,访问和使用数据,以及存储过程的使用。
第三部分 体系结构
第8章 ASP应用程序体系结构
本章中,我们将转换一个视角,对一个Internet应用程序的体系结构进行探讨。具体来说,我们将对下列内容进行探讨:Windows DNA的体系结构、多层体系结构应用程序的设计、COM+及组件的设计,以及使用Visual Basic、C/C++及ATL创建组件。
第9章 组件服务
本章对通过MTS和COM+来使用组件进行了较为详细的讨论。此外,我们的讨论还覆盖了事务、对象池(pooling)以及排队组件方面的内容。
第10章 设计用户服务
本章将集中讨论在Internet应用程序用户服务层的设计中所涉及的诸多问题。具体来说,我们将讨论浏览器兼容性和数据显示方面的问题。在本章中,我们将为在后续一些章节中逐渐展开的应用程序建立其用户界面。
第11章 构建数据访问组件
本章内容集中讨论如何使用Visual Basic为ASP应用程序建立组件,包括:使用组件为ASP应用程序带来的好处,如何将站点的功能作为基于COM的API展现出来,如何在Visual Basic中建立数据访问组件,以及基于COM的API如何简化了新功能的加入。
第12章 构建OLE DB组件
本章将讲述如何使用C++来为我们的应用程序开发组件,包括:何时在Web应用程序中使用C++的OLE DB组件,如何编写ASP组件以通过OLE DB消费者来获取数据,以及围绕在C++中使用ADO的各方面问题。
第13章 用COM+集成应用
本章将引导我们了解在前面一些章节中开发的应用程序展开的全部过程。此外,我们还讨论性能和安全所涉及到的问题,例如对象生存期和状态、COM+集成、线程化,以及如何通过组件服务来编写COM+应用程序。
第四部分 关系型数据库
第14章 Microsoft SQL Server
我们将用四章的篇幅来研究关系型数据库的使用,本章是这四章中的第一章。在本章中,我们将对SQL Server的使用进行探讨。此外,我们还将讨论存储过程的创建和使用、性能方面的问题、任务的创建和调度、触发器的使用以及从SQL Server中发送电子邮件等。
第15章 Oracle8和Oracle8i
本章将讲述Oracle客户组件的安装和配置,以及如何使用OLE DB Provider for Oracle、Microsoft ODBC Driver for Oracle及Oracle Objects for OLE连接到一个Oracle数据库的有关问题。此外,我们还将对下列内容进行探索:PL/SQL的使用,从一个Oracle存储过程检索ADO记录集,引用指针的使用,以及如何建立一个ASP应用程序来对存储在Oracle数据库中的数据进行操纵。
第16章 IBM DB2通用数据库
本章将讨论IBM DB2数据库的使用。我们所讨论的内容包括DB2客户组件的安装,使用OLE DB或ODBC连接来连接到DB2数据库,以及从ASP页面中访问数据等。此外,我们还构建了一个使用DB2数据库的ASP示例程序。
第17章 MySQL
在本章中,我们将讨论开放源代码(open source)组织的MySQL数据库服务器。本章讲述了MySQL数据库服务器和MyODBC数据源的安装和配置,如何连接到MySQL,用户的权限以及MySQL的结构化查询语言(SQL)。
第五部分 非关系型数据
第18章 目录服务
本章是介绍非关系型数据的第一章。在过去的几年中,目录服务已经得到了广泛的认可。本章将集中讲解Microsoft公司的Active Directory(活动目录)。首先,在对其功能进行综述之前,我们将讲述Active Directory的安装。然后将详细介绍Active Directory Service Interface(Active目录服务接口,ADSI)和Lightweight Directory Access Protocol(轻量级目录访问协议,LDAP)的使用,以及如何从ASP页面对Active Directory中的数据进行操纵。
第19章 NDS和ASP
本章将对Novell Directory Service(Novell目录服务,NDS)进行讨论。在给出对该产品的综述之后,我们将讲述用于NDS的ADSI提供者(provider)的使用、LDAP的发展以及用于NDS的Novell ActiveX控件。此外,我们还讲述了从ASP页面如何创建和操纵NDS对象,以及在ASP应用程序中如何将NDS作为数据库来使用。
第20章 索引服务
本章将探讨Windows 2000 Indexing Service(索引服务)是如何能够用做数据库的,还将学习如何使用该服务来构建Web搜索引擎。我们对该服务的原子单元进行了详细的讨论,例如分类表、属性、作用域和查询;还讨论了构建Web搜索引擎的两种不同的方式:通过COM组件,或者通过使用索引服务的OLE DB提供者。
第21章 半结构化数据与Internet发布
在本章中,我们将讨论对部分结构化的数据进行访问的方法。具体来说,我们将讨论在ASP应用程序中对一个Web站点的目录进行操纵的方法。这一部分的核心问题就是Web Distributed Authoring and Versioning(Web分布式写作和版本化协议,WebDAV)的使用。
第22章 Exchange 2000
目前,大量的数据都逐渐地由像Microsoft的Exchange 2000这样的系统来进行保存。在本章中,我们将讲述如何通过Exchange OLE DB提供者从ASP应用程序中对Exchange 2000中的条目进行浏览、创建、修改、查找或删除。我们还将讨论如何使用ASP页面协同Collaboration Data Object(协作数据对象,CDO)和Exchange 2000来对各种消息进行发送和接收。
第23章 遗留数据
多年来,在一些系统上已经积累了的大量数据—这些系统可以归于一个大类“遗留系统”(legacy system)。本章讨论了不同类型的遗留数据、System Network Architecture(系统网络体系结构,SNA),以及使用Microsoft SNA Server和Host Integration Server 2000来将遗留数据与一些作为示例的ASP应用程序进行集成的方法。
第六部分 XML与ASP
第24章 XML入门
本章是讨论在ASP中使用XML的章节中的第一章。在给出XML综述之后,我们对Document Type Definition(文档类型定义)文件和Data Schema(数据模式)进行了讨论,讲述了关于如何使用Microsoft XML语法分析程序的几个实例,并介绍了数据岛(data island)是如何运作的。
第25章 转换与格式化XML
本章将继续讨论XML的使用,主要介绍样式表(stylesheet)的使用、XSL标记、使用XML和XSL开发应用程序,并介绍了如何编写基于XML的服务器页面。我们对上一章中的XML应用程序进行了更进一步的完善。
第26章 ADO与XML
本章将对上两章中开发的XML应用程序进行进一步的完善。我们将讨论使用XML和ADTG(Advanced Data TableGram)保存记录集、基于XML的脱机记录集的使用,并对如何使用ADO 2.5的Stream对象进行了介绍。
第27章 XML与关系数据库
本章对在XML格式的关系型数据库中检索数据的方法进行了研究。具体来讲,我们集中讨论了如何使用XML作为通信中介来对保存在Oracle和DB2数据库中的数据进行操纵。
第七部分 高级主题
第28章 电子贸易和电子商务
在本章中,我们对使用ASP和SQL Server开发一个电子贸易站点进行了一般性的讨论。我们集中讲述了一个实现一些简单个人化和会员功能的电子贸易站点的开发,并包括了一些电子贸易的常见问题的讨论,例如安全问题等。
第29章 数据整形
在本章中,我们将对数据的特定使用方式进行检验,这种数据是关系型格式的,但是我们需要以层次型格式对其进行访问。Microsoft的数据整形提供者MSDataShape提供了一种在将数据从数据库中提取出来时将数据的结构进行“转换”的方法。
第30章 多维数据
本章集中讨论了如何使用On Line Analytical Processing(联机分析处理技术,OLAP)——特别是Microsoft的Analysis Services(分析服务)—作为从保存在关系型数据库中的数据提取有用信息的手段。我们讨论了OLAP数据库的生成 ,MDX(Multi-dimensional Extension,多维扩展)的使用,以及将从OLAP数据库中访问和显示数据的ASP应用程序的建立等。
第31章 数据挖掘技术
在本章中,我们讨论了数据仓库技术和数据挖掘技术,并分析了几个使用Microsoft SQL Server 2000 Analysis Services的实例。此外,我们还讲述了如何将Analysis Services与ASP应用程序集成起来等内容。
第32章 远程数据服务
本章的话题是Remote Data Service(远程数据服务,RDS)的使用。它提供了一种在客户端将来自远程服务器的COM组件实例化的手段。具体来讲,我们主要详细讨论了下列内容:RDS 2.6的对象模型、数据绑定、在用户对象中使用RDS以及使用RDS构建作为示例的应用程序等。
第33章 高级查询接口
在本章中,我们讨论了访问关系型数据库中数据的更为复杂的方法。我们的讨论具体集中于使用SQL Server执行异构(heterogeneous)查询、XPath、经由MSEQ(Microsoft English Query)来使用自然语言查询以及基于ASP的数据访问接口的创建等。
第八部分 性能和安全性
第34章 可扩展性和性能
本章将对有关性能和安全方面的ASP应用程序设计问题进行详细的讨论。此外,我们还讨论了用来确保应用程序最适宜的性能,解决软件和硬件方面的问题,以及集群化和负载平衡等方面的许多技术。
第35章 安全性
本章将对许多领域的安全问题进行讨论,包括Windows 2000中的安全问题、IIS的身份验证、基于cookie的身份验证、基于证书的身份验证、Web服务器身份验证以及一些防止黑客入侵的方法。
第九部分 实例研究
第36章 实例研究1:基于Web的报表
在本实例研究中,我们将综合前面各章所涉及的技术和概念,(例如ASP页面、HTML、客户端和服务器端的脚本编制、Visual Basic的COM组件、组件管理器、存储过程、视图、表检索以及安全,生成一个用来将Web站点上的活动进行汇总的3层应用程序。
第37章 实例研究2:动态元素
在本实例研究中,我们将探讨如何在Web页面中的表格里动态地创建HTML元素。具体来说,我们讲述了表关系的创建,客户端上动态HTML元素的创建,动态元素在服务器端的处理,以及如何使用ASP将所有这些内容展现出来等。
使用本书所需要的条件
为了从本书中学到更多的东西,应使用Windows 2000或Windows NT 4.0。在理想的情况下,还应该使用下列软件:
一个企业版的关系型数据库,例如SQL Server。
Visual Studio。
理想的ASP 3.0,已与IIS 5.0和Windows 2000进行了捆绑。
ADO 2.5或2.6。
虽然大部分的例子都假定读者正在运行着IIS 5.0 Web服务器(与Windows 2000进行了捆绑),但其中的大多数都可以在IIS 4.0(与Windows NT 4.0进行了捆绑)和PWS(在Windows 95/98中提供)上运行。
某些章节需要使用特定的软件,例如Oracle、NDS或Exchange 2000。在某些情况下,这些软件的评估版本和开发版本可以从Internet上下载;因此,我们会在相关的章节指出在哪里可以下载特定的程序。
约定规则的使用
在阅读这本书时,你将遇到不同的格式。这是为了帮助读者区分不同类型的信息。
对于重要的信息、关键的地方以及附加的扩展部分,为了使其醒目,均以这种格式排版。当你遇到这些格式的文字时,请给予充分的关注。
一般性的注解、背景信息和简短的旁白也以本格式排版。
用户支持
我们想了解你对本书的看法:你喜欢哪些、不喜欢哪些以及你希望我们下次在哪些方面应该加强。可以通过电子邮件(发给:feedback@wrox.com)的方式发给我们。请在你所发的信息中注明本书的标题。
源代码
本书中出现的全部示例的源代码均可从Wrox的Web站点上下载:
http://www.wrox.com。
勘误表
我们付出了全部努力来确保在全书的文本和源代码中不出现错误。然而,人总是会犯错误的,因此我们觉得需要通知你一些已经发现并纠正的错误。全书的勘误表可以在www.wrox.com找到。如果你发现了任何还没有报告的错误,请通知我们。
P2P.WROX.COM
要得到作者的支持和一对一的支持,请加入ASP邮件列表。我们在邮件列表、论坛和新闻组中提供了专门的Programmer to Programmer Support(程序员对程序员的支持),这些都“加入”了我们的一对一邮件系统中。请确信你的问题不仅是由专业的技术支持人员提供分析,还有众多的Wrox作者和其他一些在我们邮件列表中的行业专家为你提供解答。无论你是在读本书,还是已经着手开发自己的应用程序,都将在p2p.wrox.com找到需要的支持。
为得到相关的支持,需要经过下列四步来进行注册:
1) 进入到p2p.wrox.com主页。
2) 点击ASP按钮。
3) 点击想要加入的邮件列表类型。
4) 填好你的电子邮件地址以及口令(至少4位),并通过电子邮件发送给我们。
本系统为何会提供最好的服务
你可以选择加入邮件列表,或者也可以以每周文摘的形式接收这些邮件列表的内容。如果你没有时间或者不会接收邮件列表,那么可以在我们的在线文档中搜索所需的内容。我们会将无用的邮件和垃圾邮件删除,并使用杰出的Lyris系统来保护你的电子邮件地址。关于加入和退出或其他任何有关邮件列表的问题可以发给:listsupport@p2p.wrox.com。
英文原书名:Professional ASP Data Access
英文原书号:ISBN-1-861003-92-7

作者简介

(英)Dino Esposito:暂无简介

译者简介

程永敬 董启雄等译:暂无简介

译者序

能将《ASP数据访问高级编程》这本经典的著作翻译过来,献给广大的ASP数据库开发人员,我们既感到非常荣幸,同时也感到压力很大。经过我们的努力和尽可能细致的工作,终于能够勉力拿出这本译稿了。
近几年来,Active Server Pages(ASP)已经发展成为用来开发Internet和Intranet应用程序的一种最重要的技术。任何高效的Web应用程序,其中心就是数据操纵,而本书就是一本关于创建以数据为中心的ASP应用程序的完全指南。本书从数据库设计原理开始讲解,涵盖了建立用于数据访问的COM组件等内容,直到一些高级话题,例如数据仓库技术和数据挖掘技术等,还讨论了有关性能和可扩展性以及安全性方面的话题。此外,本书还全面讲述了关系型数据库,例如SQL Server、Oracle和DB2,同时也讲述了非关系型数据存储,例如Exchange 2000、目录服务、遗留数据和XML等。无论数据保存在什么地方,本书都将帮助你编写出功能强大的ASP应用程序,来充分使用你所有的重要信息。
本书的读者应具有初步的ASP编程知识,而ADO和OLE DB、COM(+)组件的开发,以及关系型和非关系型数据源的使用则将在本书中全面进行介绍。如果你想要将各种数据源的现有数据高效地应用于ASP应用程序,那么相信本书是你最好的选择。
本书主要由程永敬、董启雄、韩平、刘学来等人翻译。参加本书翻译的还有叶伟、张宝玲、王洋、于海龙、马君艳、唐雪飞、范文山、张永明、吴嵘、冯朝晖、侯迎春、徐艳丽、卢彬、肖龙生、汪中、钱磊、姚俭俊、郝文缙、孙光、杨波、郑海昕、田优青、窦云、唐大成、王泽红、王笑非等。由于本书的覆盖面较广,参加翻译的人员较多,而译者的水平和精力有限;因此,尽管我们尽了很大的努力保证全书翻译的正确、通顺和统一,但一定还会存在许多问题,敬请广大读者批评指正。译者的电子邮件地址为:ch_yjing@263.net。

图书目录

译者序
前言
第1章  ASP、数据和数据库 1
1.1  数据与信息 1
1.2  数据访问简史 2
1.2.1  早期的计算环境 3
1.2.2  Internet带来的影响 5
1.3  当前的构造解决方案 9
1.3.1  Windows DNA 2000体系结构 9
1.3.2  Windows DNA的数据访问 13
1.4  小结 15
第一部分  数据库基本原理
第2章  数据库设计思想 17
2.1  数据库系统的简要回顾 18
2.1.1  层次型数据库 18
2.1.2  网络型数据库 19
2.1.3  面向对象的数据库 19
2.2  良好设计的重要性 19
2.3  开发一个逻辑设计 24
2.3.1  确保数据完整性 24
2.3.2  关系型数据库与平面文件数据库 25
2.3.3  标准化处理 27
2.3.4  关系、基数和ER图 40
2.3.5  引用的完整性 41
2.3.6  实施相关业务规则 42
2.4  物理设计和调整 49
2.4.1  使用索引 50
2.4.2  使用视图和存储过程 51
2.4.3  调整执行性能 53
2.5  创建并管理统计数字 55
2.6  小结 56
第3章  SQL编程 57
3.1  什么是SQL 57
3.2  使用SELECT访问数据 61
3.2.1  SELECT语句的基本结构 61
3.2.2  计算统计和其他运算 63
3.2.3  使用一个SELECT语句来对数据
      进行分类 68
3.2.4  在SELECT语句中使用条件 70
3.2.5  用统计函数分组 75
3.3  对多个表进行查询 78
3.3.1  JOIN的可选语法 78
3.3.2  外部的连接 80
3.4  使用SQL创建和修改表 83
3.4.1  创建表 83
3.4.2  用 SQL修改表 85
3.5  添加、删除、修改数据 86
3.5.1  向表中添加数据 86
3.5.2  删除表中的数据 87
3.5.3  更新表中的数据 87
3.6  事务处理过程 88
3.7  查询的技巧 90
3.7.1  组合顺序查询 90
3.7.2  生成交叉制表的查询 92
3.7.3  使用动态表 95
3.7.4  生成记录的组合 97
3.7.5  对连接使用比较条件 98
3.8  小结 101
第4章  存储过程、触发器和视图 102
4.1  视图 102
4.1.1  创建和使用视图来选择数据 103
4.1.2  修改和删除视图 104
4.1.3  使用视图更改数据 106
4.1.4  视图的优点 108
4.2  存储过程 110
4.2.1  使用存储过程的优越性 111
4.2.2  运行存储过程 113
4.2.3  创建存储过程 114
4.2.4  删除存储过程 122
4.2.5  重新编译存储过程 124
4.2.6  编写存储过程的代码 124
4.3  触发器 144
4.4  小结 149
第二部分  数据访问
第5章  数据访问简介 151
5.1  开放式数据库互连 152
5.1.1  运行时驱动管理器 152
5.1.2  ODBC驱动 153
5.1.3  连接到ODBC数据源 154
5.1.4  SQL的作用 155
5.1.5  超越ODBC 155
5.2  走向数据对象模型 156
5.2.1  DAO——数据访问对象 156
5.2.2  RDO——远程数据对象 158
5.2.3  ODBCDirect 159
5.3  ADO 159
5.4  通用数据访问 159
5.4.1  OLE DB 160
5.4.2  UDA与通用数据存储 160
5.5  目前的ADO 161
5.5.1  ADO 2.0 161
5.5.2  ADO 2.1 161
5.5.3  ADO 2.5 161
5.5.4  ADO+ 161
5.6  小结 162
第6章  OLE DB 163
6.1  OLE DB基本原理 163
6.2  OLE DB体系结构 165
6.2.1  OLE DB消费者 165
6.2.2  OLE DB提供者 166
6.2.3  OLE DB服务提供者 169
6.3  OLE DB对象 169
6.3.1  映射ADO到OLE DB 170
6.3.2  OLE DB接口 171
6.4  OLE DB 2.5的新特性 175
6.4.1 对半结构化数据的支持 175
6.4.2  直接URL绑定 175
6.4.3  通过OLE DB访问数据源 177
6.5  小结 190
第7章  ActiveX 数据对象 191
7.1  ADO对象模型概要 191
7.2  连接到数据库 192
7.2.1  如何连接到数据库 193
7.2.2  连接池 199
7.3  提取和使用数据 200
7.4  使用存储过程 212
7.4.1  传递参数 212
7.4.2  对XML的支持 218
7.4.3  有效地使用ADO 220
7.5  小结 221
第三部分  体系结构
第8章  ASP应用程序体系结构 223
8.1  Windows DNA 224
8.1.1  可扩展性 224
8.1.2  安全性 225
8.1.3  Windows DNA 2000 226
8.1.4  多层体系结构 226
8.1.5  应用程序的物理层 232
8.2  COM / COM+ 236
8.2.1  接口 238
8.2.2  IDispatch接口——迟绑定 240
8.2.3  组件和接口等的运行时识别——
      GUID 240
8.2.4  组件设计 242
8.2.5  接口设计 244
8.3  用VB创建组件 245
8.4  使用C/C++和ATL创建组件 250
8.5  小结 254
第9章  组件服务 255
9.1  微软的事务服务器 255
9.1.1  什么是MTS 256
9.1.2  为什么要使用MTS 256
9.1.3  对象实例管理 257
9.1.4  环境管理 257
9.1.5  资源分配器 258
9.2  COM+ 258
9.2.1  COM+应用程序 260
9.2.2  COM+是如何工作的 261
9.2.3  开发COM+组件 262
9.2.4  安装COM+应用程序 270
9.2.5  消息 276
9.2.6  消息队列 276
9.2.7  建立队列 277
9.2.8  MSMQ对象模型 278
9.2.9  实现消息队列 281
9.2.10  COM+队列组件 286
9.3  下一代的组件服务 288
9.3.1  增强的可扩展性 288
9.3.2  增强的管理能力 288
9.3.3  增强的可用性 288
9.4  小结 289
第10章  设计用户服务 290
10.1  浏览器兼容性问题 291
10.2  优秀的设计准则 292
10.2.1  ASP代码的设计 292
10.2.2  页面设计 295
10.3  设计一个Web站点:Article Bazaar 296
10.3.1  构建ASP代码 298
10.3.2  编写这个Web站点的代码 302
10.3.3  跨浏览器编程的技巧 309
10.4  浏览器特有的页面 310
10.4.1  DHTML下拉窗口 310
10.4.2  WAP的特殊情况 312
10.5  通过XML显示数据 313
10.6  小结 314
第11章  构建数据访问组件 315
11.1  组件的优越性 315
11.1.1  组件可以做什么 315
11.1.2  组件的类型 317
11.2  创建组件 318
11.2.1  Visual Basic ActiveX DLL 318
11.2.2  COM API 319
11.2.3  ArticleBazaar.Query组件 319
11.2.4  插入新的文章 325
11.3  无身份组件 327
11.3.1  MTS编程模型 327
11.3.2  具有COM+兼容性的ArticleBazaar
       组件 329
11.4  基于COM的API的优越性 331
11.5 小结 337
第12章  构建OLE DB组件 338
12.1  C++ 组件不是二流组件 338
12.1.1  走进C++ 活动服务器页面 339
12.1.2  OLE DB、ODBC 和ADO 340
12.2  C++中的数据访问 341
12.3  定义一个消费者类 345
12.4  定义包装组件 348
12.5  为什么用ASP 组件 351
12.5.1  XML作为“万能粘合剂” 353
12.5.2  直接使用ASP内部方法 353
12.5.3  创建查询页面 354
12.6  使用存储过程 358
12.6.1  存储过程的设计 358
12.6.2  从C++调用存储过程 360
12.7  小结 362
第13章  用COM+集成应用 363
13.1  配置ASP应用 363
13.1.1  隐藏管理员帐户 364
13.1.2  Web日志 364
13.1.3  目录树 365
13.1.4  磁盘分区及格式化 365
13.1.5  应用的配置 365
13.1.6  应用保护 368
13.2  集成COM+ 369
13.2.1  COM+的开发 370
13.2.2  准备COM+应用 372
13.2.3  基于角色的安全策略 377
13.2.4  把C++组件变为COM+组件 378
13.3  小结 380
第四部分  关系型数据库
第14章  Microsoft SQL Server 381
14.1  从ASP连接到一个SQL Server数据库 381
14.1.1  SQL Server安全性——集成安
       全性和标准安全性 381
14.1.2  如何使用ASP代码连接到SQL Server
       数据库 382
14.2  扩展的存储过程 383
14.3  设置Microsoft SQL Server中的环境 384
14.3.1  NOCOUNT 385
14.3.2  ARITHABORT 385
14.3.3  ARITHIGNORE 385
14.3.4  CONCAT_NULL_YIELDS_NULL 386
14.3.5  ANSI_WARNINGS 386
14.4  存储过程的性能因素 387
14.4.1  数据库统计信息 387
14.4.2  运行方案 391
14.4.3  优化存储过程的内容 392
14.5  自动化操作 395
14.5.1  任务的创建和调度 396
14.5.2  在SQL Server中使用电子邮件 398
14.5.3  配置SQL Mail 399
14.5.4  在SQLAgentMail中使用报警 403
14.5.5  使用Web Assistant Wizard 406
14.6  小结 409
第15章  Oracle8和Oracle8i 411
15.1  Oracle简史 411
15.2  Oracle版本8 411
15.3  Oracle版本8i 412
15.4  安装Oracle客户组件 413
15.5  连接到Oracle数据库 421
15.5.1  OLE DB Provider for Oracle 422
15.5.2  Microsoft ODBC Driver for Oracle 427
15.5.3  Oracle Objects for OLE(OO4O) 428
15.5.4  PL/SQL概述 437
15.5.5  一个Oracle ASP应用程序示例 441
15.5.6  从Oracle存储过程来检索ADO
       记录集 453
15.5.7  使用引用指针来检索ADO记录集 459
15.6  小结 462
第16章  IBM DB2 通用数据库 464
16.1  客户组件的安装 465
16.2  控制中心 467
16.3  OLE DB 469
16.4  ODBC连接 469
16.5  从ASP访问DB2 471
16.5.1  记录集 472
16.5.2  数据显示 473
16.5.3  访问数据库图表 473
16.5.4  存储过程 475
16.6  一个小应用 477
16.7  小结 486
第17章  MySQL 487
17.1  MySQL简介 487
17.1.1  支持环境 487
17.1.2  MySQL提供的功能 488
17.2  MyODBC的安装 489
17.3  连接到MySQL 491
17.3.1  通过MySQL监视命令行进行连接 492
17.3.2  通过DSN连接来进行连接 493
17.3.3  通过非DSN连接进行连接 495
17.4  MySQL的用户权限 496
17.4.1  用户表 496
17.4.2  数据库表 497
17.4.3  主机表 498
17.4.4  tables_priv表 498
17.4.5  columns_priv表 499
17.5  MySQL的SQL语言简介 500
17.5.1  区分大小写 500
17.5.2  日期验证 500
17.5.3  支持的函数 501
17.6  MySQL的局限性 503
17.6.1  用户空间 504
17.6.2  子查询 504
17.6.3  对事务的支持 504
17.6.4  存储过程 504
17.6.5  触发器 505
17.6.6  外关键字 505
17.6.7  视图 505
17.6.8  日期验证 505
17.6.9  合并操作 505
17.7  MySQL地址簿例程 505
17.7.1  创建地址簿数据库 506
17.7.2  地址簿例子中的ASP应用程序 507
17.8  小结 519
第五部分  非关系型数据
第18章  目录服务 521
18.1  Active Directory 521
18.1.1  安装Active Directory 522
18.1.2  探讨Active Directory 523
18.2  目录服务 527
18.3  其他的目录服务 528
18.3.1  Netscape Directory Server 和
       OpenLDAP Directory Server 528
18.3.2  IIS MetaBase 529
18.3.3  Novell Directory Services 529
18.3.4  Exchange Directory和Site
       Server Membership Directory 529
18.3.5  WinNT 529
18.4  ADSI简介 529
18.4.1  ADSI提供者 531
18.4.2  LDAP提供者 531
18.4.3  WinNT提供者 532
18.4.4  ADSI接口模型 533
18.5  枚举一个对象的后代 537
18.5.1  认证目录对象 540
18.5.2  列出域用户 542
18.5.3  搜索 543
18.5.4  利用ADO进行搜索 547
18.6  小结 550
第19章  NDS和ASP 551
19.1  什么是NDS 551
19.2  NDS布局与规则 552
19.2.1  容器对象 552
19.2.2  叶对象 553
19.2.3  属性 553
19.2.4  定制对象 554
19.2.5  命名对象 554
19.3  开发NDS应用程序 555
19.3.1  NDS编程支持 555
19.3.2  面向Web的NDS编程 559
19.4  为了安全目的使用NDS 559
19.5  小结 572
第20章  索引服务 573
20.1  引言 573
20.2  从数据库角度看索引服务 574
20.2.1  分类表 574
20.2.2  结果集 575
20.2.3  关键字 575
20.2.4  文件属性 576
20.2.5  范围 576
20.2.6  过滤和索引处理 576
20.2.7  查询 577
20.2.8  查询语言 577
20.2.9  查询方法 578
20.2.10  虚拟网站和分类表 578
20.2.11  安全问题 579
20.3  索引服务管理对象 579
20.3.1  AdminIndexServer对象的方法 579
20.3.2  CatAdm对象的属性 580
20.3.3  CatAdm对象的方法 581
20.3.4  ScopeAdm对象的属性 581
20.3.5  ScopeAdm对象的方法 582
20.4  创建带有管理对象的分类表 582
20.4.1  编写虚拟网站 582
20.4.2  编制分类表 586
20.5  自动查询对象 587
20.5.1  Query对象的属性 587
20.5.2  Query对象的方法 588
20.5.3  Utility对象的方法 588
20.6  构造一个Web搜索 589
20.6.1  用户界面 589
20.6.2  为分类表创建索引 590
20.6.3  使用COM对象进行搜索 592
20.6.4  使用OLE DB提供者进行搜索 596
20.7  小结 598
第21章  半结构化数据与Internet发布 599
21.1  半结构化数据 600
21.2  Internet发布 602
21.3  更详细的WebDAV 603
21.4  用于Internet发布的OLE DB 604
21.5  连接到MSADIPP 605
21.6  以Windows资源管理器进行
     Internet发布 608
21.7  使用Internet Explorer的Internet发布 610
21.8  Internet发布与ASP 610
21.9  列举主目录中的文件 611
21.10  列举一个文件或者文件夹的属性 613
21.11  移动或者重新命名一个文件或者
      文件夹 615
21.12  拷贝一个文件或者文件夹 616
21.13  创建一个新文件或者文件夹 617
21.14  删除一个文件或者文件夹 617
21.15  读取一个文件的内容 617
21.16  小结 620
第22章  Exchange 2000 621
22.1  简介 621
22.1.1  Exchange 2000中的新特色 621
22.1.2  Exchange 2000和Active Directory 623
22.1.3  Exchange 2000和WebDAV 623
22.2  Web数据库系统说明 623
22.2.1  Web 数据库系统协议 624
22.2.2  支持能力 627
22.3  在Web数据库系统中编程 629
22.3.1  OLE DB Access——ExOLEDB 629
22.3.2  搜索数据库 639
22.4  信息传递与协作 645
22.4.1  发送信息 646
22.4.2  处理信息属性 648
22.4.3  展望 649
22.5  小结 649
第23章  遗留数据 651
23.1  IBM Host与SNA Networks 652
23.1.1  物理单元 652
23.1.2  逻辑单元 653
23.1.3  层次SNA网络模型 653
23.1.4  Peer-Oriented SNA网络模型 654
23.2  遗留数据的类型 655
23.2.1  关系型数据 655
23.2.2  非关系型数据 656
23.2.3  DB2 656
23.2.4  VSAM和IMS/DB 656
23.3  分布式数据管理 656
23.4  Microsoft SNA Server和Host
     Integration Server 2000 657
23.4.1  SNA Server 657
23.4.2  Host Integration Server 2000 658
23.5  配置SNA Server和 Host Integration
     Server 658
23.6  配置OLE DB Provider for DB2 661
23.7  配置OLE DB Provider for
      AS/400 and VSAM 664
23.8  使用OLE DB Provider for DB2从ASP
     应用程序中连接到一个演示主机 667
23.9  使用OLE DB Provider for AS/400 and
      VSAM从ASP应用程序中连接到一个
      演示主机 674
23.10  小结 679
第六部分  XML与ASP
第24章  XML入门 681
24.1  XML、HTML与SGML 681
24.1.1  标准通用标记语言——SGML 682
24.1.2  超文本标记语言——HTML 682
24.1.3  扩展标记语言——XML 682
24.1.4  XML文档 683
24.2  XML文档的其他部分 686
24.2.1  处理指令 686
24.2.2  实体 687
24.2.3  CDATA部分 690
24.2.4  注释 690
24.3  XML 语言 690
24.3.1  XML名称空间 691
24.3.2  获得一个XML词汇表 692
24.3.3  XML语言的DTD语法 692
24.3.4  检测DTD 696
24.3.5  XML语言的模式 698
24.4  XML语法分析程序 699
24.4.1  初始化一个语法分析程序 700
24.4.2  节点对象 700
24.4.3  遍历XML文档 700
24.5  XML数据岛 702
24.5.1  <xml>标记 702
24.5.2  获得XMLDOM 704
24.5.3  引用外部文件 704
24.6  小结 705
第25章  转换与格式化XML 706
25.1  为XML给定一个样式表 706
25.1.1  编写一个XSL(T)文件 710
25.1.2  使用样式表 713
25.2  具有XML和XSL的document/view
     应用程序 716
25.2.1  ASP方法 716
25.2.2  动态HTML方法 716
25.3  服务器端XML和XSL(T) 720
25.3.1  编写XML与发送HTML 722
25.3.2  ISAPI过滤器能否帮助我们
       解决问题 723
25.3.3  Microsoft XSLISAPI 725
25.4  小结 725
第26章  ADO与XML 727
26.1  保存ADO记录集 727
26.1.1  ADTG格式 728
26.1.2  XML数据模式 728
26.1.3  写入和装入记录集 730
26.2  使用基于XML的记录集 732
26.2.1  应用过滤器 733
26.2.2  更新记录集 734
26.2.3  删除记录 736
26.2.4  插入记录 736
26.2.5  提交改变的内容 737
26.3  流化一个记录集 740
26.3.1  从流到记录集 740
26.3.2  从记录集到流 741
26.4  ADO+出现的原因 742
26.4.1  记录集调度 743
26.4.2  XML调度 744
26.4.3  ADO+数据集 744
26.4.4  结构问题 745
26.5  小结 746
第27章  XML与关系数据库 747
27.1  XML与SQL Server 2000 747
27.1.1  Web访问 747
27.1.2  XPath查询语法 747
27.1.3  更新grams 748
27.1.4  SQL Server XML结构 748
27.1.5  配置访问 748
27.1.6  URL中的SQL查询 750
27.1.7  模板文件 759
27.1.8  数据库更新 762
27.1.9  格式化结果 765
27.2  XML和Oracle 766
27.2.1  XML SQL Utility 766
27.2.2  Xmlgen程序包 768
27.2.3  Oracle XML示例 775
27.3  XML与DB2 778
27.3.1  安装DB2 XML Extender 778
27.3.2  XML Extender 管理向导 781
27.3.3  DAD 785
27.3.4  从DB2中检索XML数据 793
27.3.5  向数据库插入行 795
27.4  小结 797
第七部分  高级主题
第28章  电子贸易和电子商务 799
28.1  改进客户的体验 799
28.1.1  存储客户数据 799
28.1.2  销售链集成 801
28.1.3  供应链集成 801
28.2  个性化和成员化 801
28.2.1  目录与数据库 802
28.2.2  P&M范例与客户数据库集成 802
28.2.3  客户配置文件 803
28.2.4  建立产品目录清单 805
28.2.5 创建客户数据库 808
28.2.6  创建业务层和表示层 809
28.3  安全性 823
28.3.1  当数据在服务器上传输的时候保护
       数据 823
28.3.2  保护服务器上的数据 825
28.3.3  共享服务器主机服务技术和它
       对于电子商务的冲击 825
28.4  小结 826
第29章  数据整形 827
29.1  为什么需要数据整形技术 828
29.2  范例:检索雇员的详细情况 831
29.2.1  数据整形连接字符串 834
29.2.2  命令字符串 835
29.3  孙记录集 837
29.4  统计总量 839
29.5  参数化记录集 841
29.6  其他主题 842
29.6.1  重新整形 842
29.6.2  创建新的父节点 842
29.6.3  VBA函数 842
29.7  数据环境设计器 842
29.8  小结 846
第30章  多维数据 848
30.1  RocksWorks运动中心 849
30.2  介绍分析服务软件 853
30.3  生成OLAP数据库 855
30.3.1  步骤1:数据仓库 855
30.3.2  步骤2:立体数据库 858
30.4  使用ASP语言编写分析服务程序 870
30.5  MDX 872
30.6  范例 873
30.6.1  显示层 873
30.6.2  显示一个结果数据表 875
30.7  小结 878
第31章  数据挖掘技术 879
31.1  基础知识:数据仓库技术 879
31.2  数据挖掘技术综述 882
31.3  数据挖掘技术 883
31.3.1  可视化 883
31.3.2  聚类 883
31.3.3  决策树 884
31.3.4  神经网络 884
31.4  数据挖掘技术和ASP应用程序 885
31.5  数据挖掘工具 887
31.6  Analysis Services 890
31.6.1  安装Analysis Services 890
31.6.2  Analysis Manager 891
31.6.3  从ASP中访问数据挖掘模型 896
31.7  数据挖掘技术的展望 906
31.8  小结 907
第32章  远程数据服务 908
32.1  什么是RDS 908
32.1.1  为什么使用RDS 909
32.1.2  什么时候不使用RDS 910
32.1.3  RDS 2.6对象模型 910
32.2  利用DataControl对象实现数据绑定 920
32.2.1  绑定到DSO 921
32.2.2  表的分页技术 923
32.2.3  DHTML数据绑定事件 924
32.3  RDS和定制对象 924
32.3.1  针对HTTP连接的注册表修改 924
32.3.2  注册一个带有DCOM的对象 925
32.3.3  调用定制商业对象 930
32.4  安全问题和RDS 931
32.5  RDS范例 935
32.5.1  创建中间层对象 936
32.5.2  编写Web页面的代码 938
32.6  小结 945
第33章  高级查询接口 946
33.1  超越SQL 946
33.2  异类查询 947
33.2.1  建立分布式查询 947
33.2.2  链接服务器 947
33.2.3  OPENROWSET关键字 950
33.2.4  使用OPENROWSET关键字 950
33.3  寻找一种通用查询语言 952
33.3.1  是否存在某种可以使用的UQL 953
33.3.2  XSL模式和XPath 953
33.3.3  什么是自然语言 954
33.4  英语查询 954
33.4.1  MSEQ和数据库 954
33.4.2  应用程序如何使用MSEQ 955
33.5  使得MSEQ开始工作 957
33.5.1  MSEQ实体和关系 957
33.5.2  测试EQ应用程序 960
33.5.3  管理特定问题 961
33.5.4  增强Article Bazaar 网站的功能 965
33.6  查询OLAP立体数据库 968
33.7  小结 970
第八部分  性能和安全性
第34章  可扩展性和性能 971
34.1  对应用程序进行评价 971
34.2  硬件的性能 975
34.2.1  内存 976
34.2.2  磁盘驱动器和磁盘驱动控制器 978
34.2.3  网络性能 980
34.3  软件的性能 981
34.3.1  操作系统和服务器软件 981
34.3.2  应用程序的性能 985
34.4  通过集群技术获取可靠性和可扩展性 992
34.4.1  Microsoft SQL Server中的集群
       技术 993
34.4.2  Web Farm中的集群技术 994
34.5  小结 999
第35章  安全性 1000
35.1  Windows 2000和安全性 1000
35.2  身份验证 1001
35.2.1  IIS的身份验证 1002
35.2.2 基于cookie的身份验证 1007
35.2.3  基于证书的身份验证 1011
35.2.4  使用ASP自定义身份验证 1013
35.3  Web服务器的身份验证 1014
35.4  防止攻击 1017
35.4.1  使用软件的最新版本 1018
35.4.2  使用SYSKEY来保护密码数据 1018
35.4.3  文件夹权限提供的安全性 1020
35.4.4  进程隔离带来的安全性 1020
35.4.5  IP地址和域限定带来的安全性 1021
35.4.6  对数据库的访问 1021
35.5  小结 1022
第九部分  实例研究
第36章  实例研究1:基于Web的报表 1023
36.1  商业目标 1023
36.2  使用应用程序 1024
36.3  应用程序如何工作 1028
36.3.1  Start页 1029
36.3.2  Parameters页 1031
36.3.3  Result页 1034
36.3.4  访问中间层组件 1035
36.3.5  数据库 1037
36.3.6  安全 1044
36.4  小结 1046
第37章  实例研究2:动态元素 1048
37.1  提出问题 1048
37.2  解决方案 1049
37.3  创建表关系 1050
37.3.1  创建一个数据库脚本 1051
37.3.2  填充Sub_Task_T表 1054
37.3.3  存储过程 1055
37.4  在客户端创建动态HTML元素 1058
37.5  动态元素的服务器端处理 1068
37.5.1  在服务器端处理动态元素的
       ASP网页 1068
37.5.2  测试网页 1073
37.6  浏览结果 1074
37.7  小结 1075
附录A  ASP对象模型 1077
附录B  p2p.wrox.com 1084

教学资源推荐
作者: [美]梁勇(Y. Daniel Liang) 著
作者: (美)本贾尼·斯特劳斯特鲁普 (Bjarne Stroustrup)著
作者: [美] 劳拉·格雷泽(Laura Graesser) 龚辉伦(Wah Loon Keng) 著
作者: 尹宝林 编著
参考读物推荐
作者: 兰小伟 著
作者: [印度]卡马尔米特·辛格(Kamalmeet Singh) [荷兰]艾德里安·伊恩库列斯库(Adrian Ianculescu) [罗马尼亚]路西安-保罗·托尔耶(Lucian-Paul Torje)著
作者: (美) Piero Giacomelli 著