第1章SQL、XML和商务Internet 1
1.1 关系数据与 SQL 1
1.2集成的挑战 2
1.3 XML的出现 3
1.3.1 XML概述 3
1.3.2命名空间 8
5.5本章小结 1 10
1.3.3用XML构建解决方案 10
1.3.4用XML表示商务实体 11
目录 11
前言 11
1.4用XPath引导XML文档 13
1.4.1指定位置路径 14
1.4.2在位置路径中使用条件 15
1.5 XSL样式表 16
1.5.1 XSL样式表文档 16
1.5.2在样式表中使用多个模板 22
1.5.3应用样式表 25
1.6文档对象模型 26
1.7 XML架构 27
1.7.1 架构语言 28
1.7.2验证XML文档 32
1.8用XML将商务Web化 36
解决方案中使用XML 36
1.8.2在B2E(商务—企业) 36
解决方案中使用XML 36
1.8.1在B2C(商务—消费者) 36
1.8.3在B2B(商务—商务) 37
解决方案中使用XML 37
1.8.4用XML将Northwind 37
Traders公司Web化 37
1.9本章小结 37
第2章用Transact-SQL检索 39
XML数据 39
2.1 SELECT…FORXML语句 39
2.2使用RAW模式 40
2.2.1在RAW模式查询中 41
使用联结 41
2.2.2用列的别名指定属性 41
名称 41
使用别名 42
2.3.1在AUTO模式查询中 42
2.3使用AUTO模式 42
2.3.2 AUTO模式中的联结 43
2.3.3 使用ELEMENTS选项 43
2.4使用EXPLICIT模式 45
2.4.1确定必需的通用表 45
2.4.2 EXPLICIT模式查询中 46
的指令 46
2.4.3用element和xml指令 47
检索子元素 47
2.4.4 用EXPLICIT模式检索 48
相关数据 48
2.4.5用hide指令对数据排序 52
2.4.6用xmltext指令检索 54
XML值 54
2.4.7 用cdata指令检索CDATA 55
2.4.8使用ID、IDREF和IDREFS 56
指令以及XMLDATA选项 56
2.5用BINARY BASE64选项检索 57
二进制字段 57
7.4本章小结 1 58
2.6本章小结 58
3.1 一个接收XML文档的模型 59
第3章用OpenXML插入XML数据 59
3.1.1将XML数据传递给 60
存储过程 60
3.1.2 XML文档的解析和分解 60
3.1.3清除 61
3.2用OpenXML函数生成行集 61
3.2.1指定行模式 63
3.2.2用flags参数检索属性 65
和元素 65
3.2.3定义行集架构 66
3.3用OpenXML插入数据 68
3.3.1将数据插入到现有表中 68
3.3.2创建新表 70
3.4用OpenXML检索XML元数据 71
3.4.1插入溢出数据 72
3.4.2创建边缘数据表 73
3.5本章小结 74
第4章用llS发布数据库 75
4.1 SQLServer的HTTP发布结构 75
4.2用IIS虚拟目录发布数据库 76
和路径 77
4.2.1为虚拟目录指定名称 77
设置 78
4.2.2为虚拟目录配置安全性 78
4.2.3指定数据源 81
4.2.4指定数据访问设置 82
8.2.6筛选值 1 84
4.2.5创建虚拟名称 84
4.2.6指定高级选项 85
4.3用脚本配置虚拟目录 86
4.3.1 SQLVDirControl对象 87
4.3.2 SQLVDirs集合对象 87
4.3.3 SQLVDir对象 88
4.3.4 VirtualNames集合对象 89
4.3.5 VirtualName对象 90
4.4用URL查询测试虚拟目录 90
4.4.1用URL查询检索XML 90
文档 90
4.4.2在URL查询中编码 91
特殊字符 91
4.4.3在URL查询中指定 91
样式表 91
4.4.4指定内容类型 93
4.4.5指定字符集 94
8.2.9 检索CDATA节 1 94
4.5本章小结 95
存储过程 95
4.4.6在URL查询中执行 95
第5章用XML模板检索数据 97
5.1模板概述 97
5.2创建模板 98
5.2.1 在模板中包含多个查询 99
5.2.2在模板中调用存储过程 100
5.2.3创建参数化的模板 100
5.3用模板应用样式表 102
5.3.1 在服务器端应用样式表 104
5.3.2在客户端应用样式表 106
5.4提交模板 107
5.4.1从HTML窗体提交模板 107
5.4.2从非HTML客户端 109
提交模板 109
6.1 ADO概述 111
第6章用ADO访问XML数据 111
6.2.1 使用SOLOLEDB 112
6.2 SQLXML的OLE DB提供程序 112
提供程序 112
提供程序 113
6.2.2 使用SQLXMLOLEDB 113
6.3用ADO检索XML数据 114
6.3.1命令方言 114
6.3.2从Stream中检索结果 115
6.3.3执行FOR XML语句 116
6.3.4调用返回XML片段的 117
存储过程 117
6.3.5向结果中添加根元素 118
6.3.6用ADO执行模板 120
6.3.7使用带有xsl属性的 122
样式表 122
6.3.8用Output Encoding属性 125
管理输出格式 125
6.3.9把XML数据检索为 126
DOMDocument对象 126
6.4本章小结 127
第7章从.NET应用程序访问 129
7.1.NET框架简介 129
XML数据 129
中检索XML 131
7.2用ADO.NET从SQL Server 131
7.2.1 用SqlCommand类 132
检索XML 132
7.2.2从DataSet类检索XML 134
7.3使用SqlXml托管类 137
7.3.1 用SqlXmlCommand类 138
检索XML 138
7.3.2使用SqlXmlParameter类 151
7.3.3用SqlXmlAdapter类 154
检索DataSet 154
第8章用映射架构检索数据 159
8.1使用默认映射 159
一个表 161
8.2.1将XML文件映射到 161
8.2用批注映射数据 161
8.2.2将XML数据映射到 163
多个表 163
8.2.3定义架构中的常量 172
8.2.4 使用1D、IDREF和IDREFS 175
批注 175
8.2.5排除字段 181
8.2.7指定目标命名空间 186
8.2.8检索二进制数据 190
8.2.10检索溢出列 196
8.2.11用hide批注隐藏字段 197
8.3用映射架构检索数据 197
8.3.1根据架构使用XPath 198
表达式 198
8.3.2通过IIS使用映射架构 200
8.3.3在ADO中使用映射架构 203
8.3.4在.NET框架程序中使用 208
映射架构 208
8.4本章小结 214
9.1客户端XML结构 215
第9章客户端XML处理 215
9.2客户端查询的语法 216
9.2.1 NESTED模式中的基表名 216
9.2.2在NESTED模式下使用 217
GROUP BY 217
9.2.4对时间戳列使用NESTED 218
模式 218
额外的FORXML关键词 218
9.2.3在NESTED模式中使用 218
9.2.5 从返回行集的存储过程中 219
检索XML 219
9.2.6客户端XML处理的单行 220
集限制 220
9.3用模板执行客户端FOR XML 220
查询 220
9.3.1执行SQLISAPI虚拟目录 221
中的客户端模板 221
9.3.2用ADO执行客户端模板 221
执行客户端模板 222
9.3.3用SqlXmlCommand类 222
9.3.4在客户端模板中使用 223
XPath查询 223
9.4为客户端XML处理配置 224
SQLISAPI虚拟目录 224
9.5使用ADO Command对象的 226
ClientSideXml属性 226
9.6使用SqlXmlCommand托管类的 227
ClientSideXml属性 227
9.7本章小结 228
第10章用updategram修改数据 231
10.1 updategram概述 231
10.2在updategram中映射数据 232
10.2.1使用默认的映射 232
10.2.2使用映射架构 233
10.3在updategram中处理NULL值 234
10.4在updategram中使用参数 235
10.5更新多行 236
10.5.1 使用id属性 236
10.6 updategram的结果 237
After元素 237
10.5.2使用多个Before和 237
10.6.1 updategram的错误消息 238
10.6.2应用样式表 238
10.7用updategram插入行 238
10.7.1 插入多行 239
10.7.2使用IDENTITY列值 240
10.7.3生成全局惟一标识符 242
(GUID) 242
10.7.4在映射架构插入 244
关系数据 244
10.9 updategram和并发 247
10.8用updategram删除数据 247
10.9.1低级并发保护 248
10.9.2中级并发保护 248
10.9.3高级并发保护 249
10.10在updategram中组合INSERT、 250
UPDATE和DELETE操作 250
10.11执行updategram 251
10.11.1在虚拟目录中执行 251
updategram 251
updategram 252
10.11.2用ADO执行 252
updategram 254
10.12用SqlXml托管类执行 254
10.12.1从updategram检索 255
XML响应 255
10.12.2检索updategram的 256
错误信息 256
10.13本章小结 258
第11章用DiffGram修改数据 259
11.1 DiffGram概述 259
11.2 DiffGram和映射架构 260
11.3用DiffGram更新数据 260
11.4用DiffGram插入数据 262
11.5用DiffGram删除数据 264
11.6在DiffGram中组合INSERT、 266
UPDATE和DELETE操作 266
中执行DiffGram 268
11.7.2用ADO执行DiffGram 268
11.7.1在SQLISAPI虚拟目录 268
11.7执行DiffGram 268
11.7.3用SqlXml托管类执行 270
DiffGram 270
11.8本章小结 274
第12章大容量装载XML数据 275
12.1 XML Bulk Load组件 275
12.1.1 XML Bulk Load组件 275
工作原理 275
12.1.2大容量装载XML数据 278
12.1.3维护引用完整性 280
12.1.4生成数据库架构 287
12.2本章小结 291
第13章用SOAP访问数据 293
13.1 Web服务和SOAP 293
13.1.1 SOAP请求消息 294
13.1.2 SOAP响应消息 295
13.1.3 Web服务描述语言 295
(WSDL) 295
创建Web服务 300
13.2.2配置Web服务 300
13.2.1用【配置IIS支持】工具 300
13.2用SQLXML 3.0创建Web服务 300
13.2.3 以编程方式创建Web 301
服务 301
13.2.4 SOAP虚拟名称文件 304
13.3来自SQLXMLWeb服务的SOAP 312
响应 312
13.3.1将行作为XML元素 313
数组返回 313
返回 316
13.3.2将行作为DataSet数组 316
13.3.3将行作为单一DataSet 318
返回 318
13.3.4返回输出参数 319
13.3.5检索错误信息 320
13.3.6向SQLXMLWeb服务 323
发送SOAP消息 323
13.4用SOAP工具包构建客户端 324
13.4.1用SOAP工具包调用 324
XMLWeb服务方法 324
参数的返回值 326
13.4.2用SOAP工具包检索 326
13.5用.NET框架构建SOAP客户端 327
13.5.1用.NET框架生成 327
代理类 327
13.5.2用.NET框架调用Web 327
服务方法 327
13.5.3用.NET框架检索参数的 331
返回值 331
13.6本章小结 332
14.1安装示例应用程序 333
解决方案 333
第14章案例分析:一个电子商务 333
14.2示例应用程序场景 334
14.3使用示例应用程序 335
14.4示例应用程序的实现细节 336
14.4.1 NorthwindTraders虚拟 336
目录 336
14.4.2 Bs Beverages Web站点 338
14.4.3订单管理应用程序 350
14.4.4目录导入工具 352
14.5本章小结 355