第1章 搭建Sybase ASE环境 1
1.1什么是Syase ASE 1
1.1.1 ASE名称的来历 1
1.1.2 Sybase ASE的体系结构 1
1.2安装Sybase ASE 3
1.2.1获取安装文件 3
1.2.2准备工作 5
1.2.3使用图形界面安装 7
1.2.4 ASE的静默安装 11
1.2.5安装完成时ASE的目录结构 11
1.2.6手动创建服务器 14
1.2.7验证服务器是否在运行 25
1.2.8修改sa用户口令 26
1.2.9 Runserver文件 27
1.3如何卸载已经安装的Sybase ASE 29
1.4忘记了sa用户密码 30
1.5预装本书用到的iihero数据库 32
第2章License的使用 33
2.1评估版License 33
2.2 License的正式获取及使用 34
第3章 定义物理设备 36
3.1物理设备管理 36
3.1.1创建设备 37
3.1.2删除设备 40
3.1.3裸设备与常规文件 41
3.1.4 Dsync选项 41
3.2设备(文件)的限制条件 42
3.3创建master设备 42
3.4设备镜像 43
3.5与设备信息相关的存储过程 48
3.6与设备相关的系统表 49
第4章 连接ASE 53
4.1 ASE客户端概述 53
4.2网络连接 53
4.2.1 interfaces文件的内容 54
4.2.2 interfaces文件的工作原理 55
4.2.3配置网络连接 56
4.3使用ASE客户端 59
4.3.1连接ASE 59
4.3.2创建数据库设备 61
4.3.3创建数据库 64
4.3.4创建登录账户和数据库用户 67
4.3.5使用Interactive SQL客户端 71
4.4启动和关闭服务器 73
4.4.1启动Adaptive Server 73
4.4.2关闭服务器 74
第5章ASE的交互命令行工具 76
5.1 SQL交互命令isql 76
5.1.1启动和停止isql 76
5.1.2 isql的命令选项 77
5.1.3指定interface文件、语言、字符集、数据库名 79
5.1.4改正输入 79
5.1.5性能统计信息收集与更改命令终结符 80
5.1.6 设置isql的网络包大小 81
5.1.7设置输入和输出文件 81
5.2导入/导出数据bcp 82
5.2.1使用bcp导出数据 83
5.2.2使用bcp导入数据 83
第6章 使用Transact-SQL 86
6.1数据库对象 86
6.1.1 T -SQL中的数据类型 86
6.1.2系统数据类型 87
6.2数据库对象的创建 88
6.2.1使用和创建数据库 88
6.2.2使用和创建表 91
6.3操纵数据库对象(DML) 98
6.3.1插入记录 98
6.3.2更新操作 100
6.3.3删除操作 102
6.4 SQL查询操作(DQL) 104
6.4.1使用“*”查询所有记录 104
6.4.2 TOP限定记录及distinct消重 104
6.4.3 Like通配符模糊查询 106
6.4.4 NULL值及其含义 109
6.4.5 SQL查询的标准格式 112
6.5创建表的索引 115
6.5.1索引简介 115
6.5.2创建索引 116
6.5.3聚簇索引和非聚簇索引 117
6.5.4创建索引的几个选项 117
6.5.5索引删除与索引统计信息的更新 120
6.6 ASE Transact-SQL中的内置函数 121
6.6.1获取数据库系统信息的系统函数 121
6.6.2字符串相关函数 125
6.6.3操作TEXT/IMAGE的文本函数 128
6.6.4集合函数 130
6.6.5数学函数 131
6.6.6时间日期函数 132
6.6.7数据类型转换函数 136
6.6.8随机数据的生成 139
6.7 ASE中的存储过程 142
6.7.1创建并执行存储过程 143
6.7.2存储过程的参数 144
6.7.3存储过程选项 146
6.7.4执行存储过程的方式 147
6.7.5以参数形式作为返回值 149
6.7.6存储过程的限制 150
6.7.7删除、重命名存储过程 150
6.7.8游标的使用 151
6.8 ASE中的触发器 155
6.8.1触发器的工作原理 155
6.8.2创建触发器 156
6.8.3 ASE中触发器的限制 157
6.8.4触发器的禁用及删除 158
6.8.5获取触发器的相关元信息 159
第7章Sybase ASE的字符集 162
7.1字符集的基本知识 162
7.2中文字符集 164
7.3 Sybase ASE中的字符集文件 167
7.4 Sybase ASE的字符集设置 169
7.4.1直接设置字符集 173
7.4.2有重要用户数据的情况下如何调整 174
7.5乱码的产生 175
第8章ASE中的空间管理 178
8.1安装完ASE后的物理空间调整 178
8.2用户数据库的容量管理 183
8.3使用段管理数据库空间 192
8.3.1段与其他数据库对象的关系 192
8.3.2创建数据库段 194
8.3.3改变数据库段的指定 195
8.3.4在段中存放数据库对象 198
8.3.5使用Sybase Central客户端工具管理段 202
第9章ASE的用户及安全管理 209
9.1操作系统级别的安全 209
9.2 ASE服务器级别的安全 209
9.2.1调整修改登录用户 211
9.2.2密码的强化管理 214
9.2.3 ASE中的特殊登录用户 215
9.2.4 ASE中的标准角色(role) 218
9.2.5查看已连接用户 221
9.3数据库级别的安全 223
9.3.1新建数据库用户 223
9.3.2 guest用户 224
9.3.3别名 225
9.3.4访问检查顺序 226
9.3.5数据库访问的设置途径 227
9.3.6组group 228
9.3.7用户名对传输数据库的影响 229
9.4数据库对象级别的安全 230
9.4.1系统中的默认角色 232
9.4.2角色方式授权 234
9.5对SSL协议的支持、配置管理及使用 237
9.5.1服务器端SSL的配置 237
9.5.2 ASE客户端SSL配置 241
第10章Sybase ASE中的事务 247
10.1设置事务模式和隔离级 247
10.2读未提交(level 0) 251
10.3读已提交(level 1) 252
10.4可重复读(level 2) 254
10.5可串行化(level 3) 256
10.6如何在事务中允许DDL操作 258
第11章ASE数据库的事务日志 260
11.1事务 260
11.2事务日志 261
11.3事务提交(commit) 261
11.4检查点 262
11.5恢复(recovery) 263
11.6恢复间隔 264
11.7日志填满 265
第12章ASE数据库的备份、恢复及数据迁移 266
12.1备份权限及周期 266
12.1.1备份需要的权限 266
12.1.2备份周期(策略) 267
12.2简单备份 267
12.3远程备份 270
12.4 dump/load命令的使用 272
12.5用户数据库的备份与恢复 276
第13章 应用Open Client库编程 280
13.1环境搭建 280
13.1.1 Windows下的环境 280
13.1.2 UNIX/Linux下的环境 281
13.1.3验证连接 282
13.1.4开发环境 283
13.2编程模型 284
13.3连接数据库 285
13.3.1创建连接 285
13.3.2处理命令 291
13.3.3关闭连接 296
13.4 SQL中的DDL操作 297
13.5获取SQL查询结果集 299
13.5.1简单结果集获取 299
13.5.2类型绑定 305
13.5.3获取表的元信息 307
13.6数据的插入、更新与删除操作 312
13.6.1不带任何参数的CUD操作 312
13.6.2带动态参数的CUD操作 315
13.6.3 BLOB/CLOB值的读写 318
第14章 嵌入式SQL编程 329
14.1基本原理 329
14.2一个简单的示例 330
14.3 NULL值及特殊字段类型的处理 336
14.4 存储过程调用 340
14.5插入/更新数据 343
14.5.1直接Insert/Update 343
14.5.2通过游标来更新数据 347
14.6 BLOB/CLOB数据处理 349
第15章 使用ODBC开发ASE应用 355
15.1 ODBC简要介绍 355
15.1.1 ODBC介绍 355
15.1.2 ODBC体系结构 356
15.2 ASE中的ODBC环境 357
15.3连接ASE 358
15.3.1连接ASE的过程 359
15.3.2配置及编译运行 363
15.3.3一种增强的连接方式 367
15.4错误处理 369
15.5一个CRUD的综合示例 376
15.5.1 Insert/Update操作 388
15.5.2 Select查询操作 390
第16章 使用Java访问ASE 392
16.1环境和工具 392
16.1.1 DBISQL 392
16.1.2 JUtils 396
16.1.3 DBeaver 399
16.1.4 JDBC驱动Jconnect 6.0.5简介 404
16.2通过JDBC连接ASE数据库 405
16.3使用JDBC操作ASE表数据 411
16.3.1 Select查询操作 412
16.3.2 Insert/Update/Delete操作 416
16.3.3事务的提交 420
16.4 BLOB/CLOB读写 420
16.4.1 TEXT字段的读写 420
16.4.2 IMAGE字段的读写 423
16.5调用存储过程 425
16.6使用JDBC访问ASE元信息 428
16.7 JDBC中的ASE数据库连接池 433
16.7.1数据库连接池的基本原理 433
16.7.2开源连接池在ASE数据库上的应用 434
16.8使用Java直接支持ASE中的面向对象SQL访问 441
第17章 应用PHP访问ASE 447
17.1 PHP运行环境搭建 447
17.1.1 Apache + PHP运行环境 447
17.1.2 Nginx+PHP运行环境 451
17.1.3 PHP环境对ASE数据库的支持 453
17.2 php_sybase ct模块介绍 454
17.3一个访问ASE数据库的PHP简单实例 458
17.3.1数据库数据准备 458
17.3.2系统实现 459
第18章 应用Python访问ASE 464
18.1安装python-sybase模块 464
18.2使用Python连接ASE 469
18.3使用Python访问ASE数据库表 470
第19章 使用ADO.NET访问ASE 474
19.1 ASE ADO.NET运行时环境 474
19.2连接ASE数据库 476
19.3创建删除表 480
19.4插入数据 481
19.4.1使用DataSet类来插入数据 482
19.4.2使用Insert语句来插入数据 488
19.4.3 BLOB/CLOB数据的插入操作 492
19.5更新数据 494
19.6调用存储过程 495
19.7获取结果集或表的元信息 499
19.8 ASE ADO.NET应用程序的发布 505
第20章Sybase ASE功能包生成 507
20.1 JUtils工具包生成 507
20.2 ODBC、 OLEDB及ADO.NET包 508
20.3 Open Client库 509
20.4 Sybase Central客户端工具生成 510