第1章 利用Oracle 8i进行Internet编程 1
1.1 Oracle历史简介 2
1.2 Oracle 8i的版本 2
1.3 编程支持 4
1.3.1 PLISQL 4
1.3.2 传统Oracle开发工具 5
1.4 Oracle 8i和Java 7
1.4.1 Oracle Java虚拟机器 7
1.4.2 Oracle JVM和JDK之间的区别 9
1.4.3 12EE框架和Oracle 10
1.4.4 JDeveloper 12
1.4.5 Java的商务组件(BC4J) 12
1.5 Oracle XML开发人员工具箱 12
1.6 Oracle InterMedia 13
1.7.1 Internet Application Server(iAS) 14
1.7 Oracle 8i和Internet 14
1.6.3 Oracle空间盒 14
1.6.2 图像、音频和视频服务 14
1.6.1 Text服务 14
1.7.2 Oracle HTTP服务器 15
1.8 小结 16
第2章 企业应用程序设计 18
2.1 EAD概念 19
2.2 N层计算的发展 19
2.2.1 两层体系结构 20
2.2.2 三层体系结构 21
2.2.3 N层体系结构 24
2.3 Oracle和EAD 28
2.3.1 PL/SQL开发 28
2.3.2 Java开发 29
2.3.3 何时使用Java 32
2.3.4 Oracle软件的支持派 32
2.5 小结 33
2.4 通信问题 33
第3章 数据库基础 35
3.1 数据库历史 35
3.2 逻辑结构 37
3.3 Oracle 8i数据库的组件 37
3.4 数据词典 37
3.4.1 内部RDBMS表格 38
3.4.2 数据词典表格 38
3.4.3 数据词典视图 38
3.4.4 动态性能视图 39
3.5 Oracle实例 39
3.5.1 数据文件和表格空间 39
3.5.2 块 40
3.5.3 段 40
3.5.4 表格段 41
3.5.5 索引段 41
3.5.6 簇段 43
3.5.7 表格簇 44
3.5.8 散列簇 44
3.5.9 回滚段 44
3.5.10 临时段 45
3.5.11 盘区 45
3.6 Oracle 8i对象/关系数据库 45
3.6.1 对象类型 46
3.6.2 集合 46
3.7 Oracle内存结构 48
3.7.1 系统全局区域 48
3.7.2 共享池 49
3.7.3 DB高速缓存 50
3.7.4 重做日志缓冲区 52
3.7.5 程序全局区域 53
3.7.6 后台进程 54
3.7.10 Redo Log Writer(LGWR)进程 55
3.7.9 Database Writer(DBWn) 55
3.7.8 Process Monitor(PMON)进程 55
3.7.7 System Monitor(SMON)进程 55
3.7.11Checkpoint(CKPT)进程 56
3.7.12 可选进程 56
3.7.13 启动实例 58
3.8 Oracle的数据库初始化文件 58
3.9 控制文件 58
3.10 扼要重述 59
3.11 小结 60
第4章 利用Net8扩展应用程序 62
4.1 Net8的作用 62
4.2 使用Net8的原因 62
4.3 Oracle连通性 68
4.4 数据操作 72
4.5 移植到Net8 73
4.6 Net8调谐 73
4.7 Net8故障诊断 74
4.7.1 诊断网络 75
4.7.2 诊断服务器 75
4.7.3 诊断客户机 76
4.7.4 一些常见的ORA错误和应对办法 76
4.8 小结 78
第5章 利用Designer 6i进行企业开发 79
5.1 Designer 6i软件体系结构 80
5.2.1 仓库对象 81
5.2 新的Oracle仓库 81
5.2.2 容器 82
5.2.3 文件对象 83
5.2.4 版本控制 83
5.2.5 工作区 85
5.2.6 Designer 6i工具的概览 86
5.2.7 建立Oracle仓库 88
5.2.8 仓库对象导航器(RON)介绍 92
5.3.2 概览 96
5.3.1 开始 96
5.3 案例研究 96
5.3.3 开发要求的概念数据模型 99
5.3.4 开发教育中心实体-关系模型 101
5.3.5 把概念数据模型转变为初始数据库设计 115
5.3.6 精炼数据库设计 121
5.3.7 生成DDL和创建物理数据库 129
5.4 小结 133
6.1 最小开发环境 134
第6章 PL/SQL开发 134
6.1.1 参考材料 135
6.1.2 编程编辑器 135
6.1.3 版本控制软件 135
6.1.4 SQL性能工具 136
6.1.5 调试 138
6.1.6 配置 139
6.1.7 测试 139
6.2 编写PL/SQL 140
6.1.8 编程风格 140
6.3 构建PL/SQL测试框架 141
6.4 小结 169
第7章 PL/SQL服务器页 170
7.1 引言 170
7.2 保时使用PSP 170
7.3 PSP体系结构 171
7.4 PSP剖析 171
7.4.1 PSP指令 172
7.4.2 PSP说明 174
7.4.3 PSP脚本小程序 175
7.4.4 PSP表达式 177
7.4.5 cust_dets.psp的源代码 177
7.5 PSP中的错误处理 182
7.6 把PSP加载到数据库 184
7.7 现在要完成的工作 185
7.8 小结 185
8.1 工具箱简史 186
第8章 PL/SQL Web工具箱 186
8.2 何时使用工具箱 187
8.3 工具箱体系结构 187
8.4 设置环境 189
8.4.1 配置iAS 189
8.4.2 如果没有iAS,会发生什么情况 191
8.4.3 安装工具箱 191
8.4.4 调试配置 193
8.5 使用工具箱构建应用程序 194
8.5.1 第一个动态页 195
8.5.2 请求术语 195
8.5.2 请求的生存期 196
8.6 工具箱API 199
8.7 构建样本应用程序 201
8.7.1 部门报告 201
8.7.2 改变部门 204
8.7.3 显示用户的细节记录 206
8.7.4 解释部门过程 214
8.8 小结 217
第9章 使用PL/SQL Web Toolkit和JavaScript的股票跟踪器 218
9.1 案例研究概览 218
9.2 应用程序体系结构 220
9.2.1 保持客户机上的状态 220
9.2.2 用户界面 221
9.3 数据模型 223
9.3.1 Accounts表 224
9.3.2 Funds表 225
9.3.3 Trades表 225
9.3.4 当前值表 227
9.3.5 跟踪用户表 227
9.3.6 加载初始数据 228
9.4 PL/SQL包 229
9.4.1 后端数据包 229
9.4.2 前端显示包 237
9.5 支持文件 242
9.5.1 JavaScript:htm.js 243
9.5.2 Javascript:stocks.js 245
9.5.3样式表:stocks.css 251
9.6 小结 252
第10章 使用Designer 6i开发Web PL/SQL应用程序 254
10.1 开端 254
10.2 概览 254
10.3 设置Web应用程序环境 258
10.4 在Designer中开发Database Design 263
10.5 创建DDL和构建物理数据库 264
10.6 利用应用程序属性扩展数据库设计 266
10.7 生成表格API 269
10.8 Web PL/SQL模块设计介绍 271
10.9 定义应用程序级的生成器优选项 272
10.9.1 定义应用程序级的优选项集 273
10.9.2 给应用程序分配优选项集 274
10.9.3 使用级联样式表(可选练习) 275
10.10 设计和生成Web PL/SQL模块 276
10.10.1 COURSE模块 277
10.10.2 生成和执行第一个Course模块 281
10.10.3 FRCOURSE模块 285
10.10.4 MDCOURSE模块 287
10.10.5 MAIN模块 296
10.11 小结 297
11.1 支持Java的基础结构 298
第11章 Oracle JVM和Java存储过程 298
11.2 Java存储过程 301
11.3 准备开发环境 302
11.3.1 识别和安装正确的JDK 302
11.3.2 使用JDK说明文件 302
11.3.3 安装IDE 303
11.3.4 检查路径环境变量 303
11.4 用Java开发存储过程 304
11.4.1 日期格式化函数 305
11.4.2 使用JDBC查询数据库的简单函数 317
11.4.3 使用OUT和IN OUT参数 322
11.4.4 从Java存储过程调用存储过程 326
11.4.5 DML和事务 328
11.4.6 利用Java存储过程的触发器和高级队列操作 333
11.4.7 以XML格式返回查询 340
11.4.8 XML中的DML操作 343
11.5 系统体系结构考虑因素 345
11.6 小结 346
第12章 利用JDBC进行Oracle访问 347
12.1 驱动程序类型 347
12.2 安装JDBC 348
12.2.1 驱动程序的位置 348
12.2.2 安装Oracle JDBC类 349
12.2.3 Java要求 350
12.2.4 检查安装 350
12.3.1 数据库连接 351
12.3 JDBC基础 351
12.3.2 语句 357
12.3.3 结果集 379
12.3.4 元数据 389
12.4 高级议题 391
12.4.1 二进制大对象(BLOB) 391
12.4.2 字符大对象(CLOB) 397
12.4.3 BFILE 399
12.5 数据源 401
12.6 小结 405
第13章 连接共享和高速缓存 407
13.1 共享 407
13.1.1 连接池优点 408
13.1.2 不同类型的连接共享 408
13.1.3 概览 409
13.2 标准连接池 409
13.2.1 Logger类 410
13.2.2 DBConnection 411
13.2.3 DBConnectionPool 418
13.2.4 管理连接池 426
13.2.5 客户举例 434
13.3 JDBC2.0连接共享 440
13.3.1 新特征 441
13.3.2 Oracle JDBC2.0扩充 443
13.3.3 更改标准池 446
13.4 小结 454
第14章 利用SQLJ的数据库连通性 455
14.1 SQLJ代码 455
14.1.1 可执行语句 456
14.1.2 主控表达式 457
14.1.3 默认连接 460
14.2 简单SQLJ应用程序 462
14.2.1 顾客类 464
14.2.2 用户界面类 469
14.3 使用SQLJ转换程序 473
14.3.1 基本转换程序操作 474
14.3.2 高级转换程序操作 477
14.4 说明 477
14.4.1 SQLJ迭代器 478
14.4.2 创建迭代器 480
14.4.3 连接环境 490
14.4.4 连接到相同模式 491
14.4.5 连接到不同模式 495
14.4.6 执行环境 497
14.5 服务器中的SQLJ 505
14.6 小结 511
第15章 Enterprise JavaBeans和Oracle 512
15.1 各种EJB组件 513
15.2 EJB适合于Sun服务器端Java计划的地方 515
15.3 体系结构中需要EJB组件吗 516
15.4 获取J2EE组件中的资源 517
15.5 使用事务资源 519
15.7 构造EJB组件 521
15.6 与其他企业技术合作 521
15.7.1 介绍Restaurant Finder 应用程序 522
15.7.2 远程接口 525
15.7.3 主接口(Home Interfaces) 532
15.7.4 实体主关键码 534
15.7.5 实现类 535
15.7.6 部署描述符 564
15.7.7 部署 566
15.7.8 样本客户 567
15.8 无实体的解决办法 572
15.8.1 部署描述符 582
15.8.2 JDeveloper 586
15.9 小结 586
第16章 数据库内核 588
16.1 处理数据库的原因 588
16.1.1 SQL/92:一整套标准 590
16.1.2 锁定模型 592
16.1.3 并发 597
16.1.4 事务 599
16.1.5 调整查询 600
16.1.6 开放程度 601
16.2 使用数据库提供的工具 602
16.2.1 SQL_Trace 603
16.2.2 TKPROF 605
16.3 小结 611
第17章 Java业务组件 612
17.1 Oracle BC4J的组件 612
17.2 BC4J的特征 613
17.3 利用BC4J开发 614
17.4 餐馆例子 614
17.5 在JDeveloper中创建数据库连接 619
17.6 使用JDeveloper创建业务组件工程 620
17.7 实体对象 625
17.8 视图对象 632
17.9 视图链接 642
17.10 关联 644
17.11 应用程序模块 645
17.11.1 BC4J的异常处理方法 646
17.11.2 把应用程序模块方法导出到客户 647
17.12 部署业务组件 647
17.12.1 创建可远程使用的应用程序模块 648
17.12.2 创建部署配置文件 648
17.12.3 连接到部署的应用程序 649
17.13 现在所处位置 650
17.14 插入数据 650
17.15 构建JSP客户应用程序 651
17.15.1 Restaurants View_Browse.jsp 652
17.15.2 Bookings View_Insert.jsp 653
17.15.3 Bookings View_SubmitInsertForm.jsp 654
17.15.4 RestaurantBookingsLink.jsp 656
17.15.5 OrderLineItemsLink.jsp 657
17.15.6 OrdersView_Insert.jsp 659
17.15.7 OrdersView_SubmitInsertForm.jsp 660
17.15.8 OrderLinesView_Insert.jsp 661
17.15.9 OrdersLinesView_SubmitInsertForm.jsp 663
17.16 运行应用程序 663
17.17 把JSP部署到iAS 664
17.18 连接到应用程序模块 665
17.19 运行命令行客户 668
17.20.2 BC4J中的事务支持 671
17.20 事务 671
17.20.1 事务需要 671
17.20.3 事务和锁定 672
17.21 小结 672
第18章 使用PL/SQL和Java的论坛 674
18.1 案例研究 674
18.2 数据层 676
18.2.1 创建表格 676
18.2.2 创建序列和触发器 677
18.2.3 创建初始类别 678
18.3 PL/SQL存储过程 678
18.3.1 UserProfile包 679
18.3.2 Forum包 687
18.4 从PL/SQL调用Java 698
18.4.1 Oracle8.1.5:利用JavaMail传递消息 699
18.4.2 Oracle8.1.6: 利用UTL_SMTP进行消息传递 704
18.5 从Java调用PL/SQL 707
18.5.1 CallableStatement概览 707
18.5.2 DatabaseAccess 708
18.6 用户界面 720
18.6.1 User类 720
18.6.2 页脚注 722
18.6.3 显示类别 723
18.6.4 显示消息线程 725
18.6.5 显示消息 729
18.6.6 递送消息 732
18.6.7 其他页 736
18.7 小结 736
第19章 Oracle interMedia Text概览 737
19.1 引言 737
19.1.1 interMedia Text查询 737
19.1.2 InterMedia索引 739
19.2 小结 757
第20章 使用 Java和interMedia构建搜索引擎 758
20.1 引言 758
20.2 实现搜索引擎 760
20.2.1 搜索语法 761
20.2.2 QueryBuilder类 763
20.2.3 SearchEngine类 769
20.3 样例客户 776
20.4 小结 781
21.1 XML解析器 782
第21章 Oracle和XML 782
21.1.1 解析XML 783
21.1.2 运行Oracle XML解析器 784
21.1.3 利用SAX解析 784
21.1.4 利用DOM解析 789
21.1.5 利用DTD解析 792
21.1.6 利用XML模式解析 793
21.2 XML查询和变换 797
21.2.1 XPath 798
21.2.2 XPath中的谓词 799
21.2.3 XPointer 801
21.2.4 使用XPath 801
21.2.5 样式表:XSLT 803
21.2.6 XSLT处理模型 806
21.3 JavaServer Pages和XML 810
21.4 XSQL页 814
21.4.1 XML SELECT和INSERT 817
21.4.2 使用XSLT加载数据库 821
21.5 XML和分布式处理 822
21.6 使用 Oracle XSL变换引擎 832
21.6.1 显示前变换 832
21.6.2 插入前变换 838
21.6.3 XSLT性能 842
21.7 Transviewer JavaBeans 845
21.8 小结 848
第22章 企业应用程序开发案例研究 849
22.1 当前设置 850
22.2 CRM系统 851
22.3 KMS系统 852
22.4 CRM-KMS集成系统 852
22.4.1 初始开发 852
22.4.2 未来开发 853
22.5 试验工程 854
22.6 两层:快速和容易路线 855
22.7 三层:更好的方法 857
22.8.1 N层体系结构概览 859
22.8 N层:长期解决办法 859
22.8.2 成簇和负载平衡 861
22.9 对N层使用模型—视图—控制器框架 861
22.10 可扩充样式表语言(XSL) 886
22.11 部署 892
22.12 故障诊断 892
32.13 从以前的应用程序移植 893
22.14 小结 894
第23章 使用SOAP的应用程序集成 896
23.1 什么是SOAP 897
23.1.1 通信和消息类型 898
23.1.2 提供服务 901
23.1.3 实现SOAP 902
23.2 样本应用程序 923
23.2.1 计算器例子 924
23.2.2 LUMA汽车 935
23.3 小结 959
第24章 利用Oracle Portal-to-Go的无线应用程序 961
24.1 作为无线解决办法的Portal-to-Go 961
24.1.1 用户视图 962
24.1.2 开发人员的观点 962
24.2 Portal-to-Go体系结构 962
24.2.1 对象和仓库 963
24.2.2 内容源 964
24.2.3 开发工具 965
24.3 安装Portal-to-Go 966
24.3.1 安装Portal-to-Go二进制文件 966
24.3.2 创建和填充Portal-to-Go仓库 967
24.3.3 配置Apache和JServ 967
24.3.4 配置Web集成开发器和Web集成服务器 969
24.3.5 测试安装 970
24.3.6 应用1.0.2.2补丁 970
24.3.7 更改Portal-to-Go的默认配置 970
24.4.1 创建WIDL接口 972
24.4 设计Web集成服务 972
24.4.2 创建用户账户 974
24.4.3 创建服务 975
24.5 Portal-to-Go SinpleResult XML 978
24.5.1 SinpleResult 978
24.5.2 SimpleContainer 979
24.5.3 SimpleText 979
24.5.4 SimpleTextItem 979
24.5.7 SimpleForm 980
24.5.5 SimpleMenu 980
24.5.6 SimpleMenuItem 980
24.5.8 SimpleFormItem 981
24.5.9 SimpleFormSelect 981
24.5.10 SimpleFormOption 981
24.5.11 SimpleTable 982
24.5.12 SimpleTableHeader 982
24.5.13 SimpleTableBody 982
24.6 编写自己的适配器 983
24.5.16 简单而强大 983
24.5.14 SimpleRow 983
24.5.15 SimpleCol 983
24.7 编写和修改现存样式表 990
24.8 个性化入口 990
24.9 利用LDAP的样本电话簿应用程序 990
24.10 小结 998
第25章 ASP、XML和Oracle 999
25.1 与Oracle一起使用ASP的原因 999
25.2 ASP简介 1001
25.2.1 ASP对象 1002
25.2.2 Request对象 1002
25.2.3 Response对象 1005
25.2.4 Application和Session对象 1006
25.2.5 Session对象 1007
25.2.6 Server对象 1008
25.3 ActiveX Data Objects(ADO) 1009
25.3.2 OO4O 1010
25.3.1 供ODBC使用的OLEDB 1010
25.3.4 创建连接 1011
25.3.3 ADO对象模型 1011
25.3.5 检索记录 1013
25.3.6 执行存储过程和函数 1016
25.3.7 无状态HTTP环境中的记录锁定 1018
25.3.8 复制Oracle 表单功能 1020
25.4.1 XML SQL Utility 1041
25.4.2 xmlgen包 1041
25.4 与Oracle一起使用ASP和XML 1041
25.4.3 Oracle XML举例 1049
25.5 小结 1054
附录A 安装问题 1055
A.1 安装Oracle 8i 1055
A.2 概览 1055
A.2.1 准备Oracle 1055
A.2.2 安装Oracle 8i 1059
A.3.1 安装客户网络软件 1064
A.3 Oracle客户机和Net8 1064
A.3.2 配置Net8 1068
A.4 多线程服务器 1071
A.4.1 内存初始化参数 1073
A.4.2 系统表格空间和回滚段 1073
A.5 安装Oracle SQLJ 1074
A.5.1 计算机上是否安装了Oracle 1074
A.5.2 未安装Oracle(拥有安装光盘) 1074
A.5.3 下载文件 1074
A.5.4 安装Java 1075
A.5.5 配置环境 1075
A.5.6 用法 1078
A.5.7 集成开发环境 1079
A.6 安装XSU 1080
A.7 SOAP安装 1081
A.7.1 Oracle SOAP Client安装 1082
A.7.3 JBoss安装 1083
A.7.2 Tomcat安装 1083
A.7.4 Apache SoAp安装 1084
A.7.5 供Visual Studio使用的Microsoft SOAP工具箱 1086
A.7.6 Microsoft环境 1086
A.8 小结 1086
附录B Java入门 1087
B.1 Java的历史 1087
B.2 Java虚拟机器 1087
B.3 利用Java从事开发 1088
B.4 Java平台和SDK 1088
B.5 编写、编译和运行代码 1089
B.6 Java语言 1091
B.6.1 面向对象 1091
B.6.2 编写Java代码 1092
B.7小结 1119
附录C XML入门 1120
C.1什么是标记语言 1120
C.2 什么是XML 1122
C.2.1 如何处理XML文档 1126
C.2.2 XML的基本构建块 1126
C.3 文档类型定义 1135
C.4 技术概览 1154
C.4.1 XML模式 1154
C.4.2 文档对象模型(DOM) 1154
C.4.3 Simple API for XML(SAX) 1157
C.5 小结 1158
附录D 支持、勘误表和p2p.wrox.com 1159
D.1 p2p.wrox.com上的在线论坛 1159
D.1.1 如何得到支持 1159
D.1.2 该系统为何提供最好的支持 1160
D.2 在www.wrox.com上在线查阅勘误表 1160
D.2.1 在Web站点上查找勘误表 1161
D.2.2 添加勘误表 1161
D.3 准确联系方式 1162