急,在SYBASE中怎样使用SQL语句切换到单用户状态。

Liujc 2002-03-16 03:33:28
如上.
...全文
197 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Liujc 2002-03-20
  • 打赏
  • 举报
回复
to:bingo28(Bingo!)该存储过程好像不能用在master表上。
  • 打赏
  • 举报
回复
sp_dboption mydb,'single user',true
tobyzhu 2002-03-20
  • 打赏
  • 举报
回复
sql是操作数据库中数据的,不是控制数据库本身的,所以应该是所有的数据库不能用SQL语句去切换到单用户模式吧,应该是用数据库本身的命令去做拉。
SYBASE好象是在启动数据库时,加一个参数,就以单用户模式启动拉。具体是什么参数我忘拉。
不过按照你的问题,我估计你是想在数据库打开时,能对某些数据实现独享;其实SYBASE12。0之后就支持行级锁拉,用锁就可以拉~~~~
Liujc 2002-03-19
  • 打赏
  • 举报
回复
UP
scripting 2002-03-18
  • 打赏
  • 举报
回复
sql控件
scripting 2002-03-18
  • 打赏
  • 举报
回复
没用过sybase,把dwl控件搞成exclusive
Sybase ASE 15.7 开发文档:系统管理指南(卷二)共两卷 第 1 章 限制对服务器资源的访问 第 2 章 镜像数据库设备 第 3 章 配置内存 第 4 章 配置数据高速缓存 第 5 章 管理多处理器服务器 第 6 章 创建和管理用户数据库 第 7 章 装入和卸下数据库 第 8 章 分布式事务管理 第 9 章 创建和使用段 第 10 章 使用 reorg 命令 第 11 章 检查数据库一致性 第 12 章 制定备份和恢复计划 第 13 章 备份和恢复用户数据库 第 14 章 恢复系统数据库 第 15 章 存档数据库访问 第 16 章 自动扩展数据库 第 17 章 使用阈值管理可用空间 第 1 章限制对服务器资源的访问 .......... 1 资源限制 .......... 1 计划资源限制 .......... 2 启用资源限制 .......... 2 定义时间范围 .......... 3 确定所需的时间范围 .......... 3 创建指定的时间范围 .......... 4 修改指定的时间范围 .......... 5 删除指定的时间范围 .......... 5 时间范围更改何时生效? .......... 6 确定用户和限制 .......... 6 标识使用大量资源的用户 .......... 7 标识使用大量资源的应用程序 .......... 7 选择限制类型 .......... 8 确定强制时间 .......... 9 确定资源限制的范围 .......... 9 了解限制类型 .......... 10 限制 I/O 开销 .......... 11 限制经历时间 .......... 12 限制结果集的大小 .......... 13 设置 tempdb 空间使用限制 .......... 14 限制空闲时间 .......... 14 创建资源限制 .......... 14 资源限制示例 .......... 15 获得关于现有限制的信息 .......... 16 列出所有现有资源限制 .......... 16 修改资源限制 .......... 17 删除资源限制 .......... 17 资源限制的优先级 .......... 18 时间范围 .......... 18 资源限制 .......... 18 第 2 章镜像数据库设备 .......... 19 磁盘镜像 .......... 19 确定镜像对象 .......... 19 使用最小物理磁盘空间进行镜像 .......... 20 不间断恢复的镜像 .......... 21 不禁用镜像的条件 .......... 22 磁盘镜像命令 .......... 23 初始化镜像 .......... 23 取消镜像设备 .......... 24 重新启动镜像 .......... 24 waitfor mirrorexit .......... 25 镜像主设备 .......... 25 获取有关设备和镜像的信息 .......... 25 磁盘镜像教程 .......... 26 调整磁盘大小和磁盘镜像 .......... 28 第 3 章配置内存 .......... 29 确定可供 Adaptive Server 使用的内存 .......... 29 Adaptive Server 如何分配内存 .......... 30 磁盘空间分配 .......... 31 较大逻辑页大小和缓冲区 .......... 32 堆内存 .......... 32 Adaptive Server 如何使用内存 .......... 34 确定 Adaptive 所需的内存量 .......... 36 确定 Adaptive Server 内存配置 .......... 37 如果正在升级 .......... 38 确定 Adaptive Server 可以使用的内存量 .......... 38 影响内存分配的配置参数 .......... 39 动态分配内存 .......... 41 如果 Adaptive Server 不能启动 .......... 41 动态降低内存配置参数 .......... 41 配置线程池 .......... 45 确定线程总数 .......... 47 Tuning the syb_blocking_pool .......... 48 配置内存的系统过程 .......... 48 使用 sp_configure 设置配置参数 .......... 48 使用 sp_helpconfig .......... 50 使用 sp_monitorconfig .......... 51 控制 Adaptive Server 内存的配置参数 .......... 53 Adaptive Server 可执行代码大小 .......... 53 数据和过程高速缓存 .......... 54 Kernel resource memory .......... 56 用户连接数 .......... 56 打开的数据库、打开的索引和打开的对象 .......... 57 锁数目 .......... 57 数据库设备和磁盘 I/O 结构 .......... 58 使用内存的其它参数 .......... 58 并行处理 .......... 59 远程服务器 .......... 59 参照完整性 .......... 60 影响内存的其它参数 .......... 60 语句高速缓存 .......... 61 设置语句高速缓存 .......... 61 第 4 章配置数据高速缓存 .......... 69 Adaptive Server 数据高速缓存 .......... 69 高速缓存配置命令和系统过程 .......... 71 有关数据高速缓存的信息 .......... 72 配置数据高速缓存 .......... 73 创建新高速缓存 .......... 75 向现有命名高速缓存添加内存 .......... 76 减小高速缓存的大小 .......... 77 删除高速缓存 .......... 78 显式配置缺省高速缓存 .......... 79 更改高速缓存类型 .......... 81 配置高速缓存替换策略 .......... 81 将数据高速缓存划分为若干内存池 .......... 83 匹配日志高速缓存的日志 I/O 大小 .......... 85 将对象绑定到高速缓存 .......... 86 高速缓存绑定限制 .......... 87 获得有关高速缓存绑定的信息 .......... 87 检查高速缓存开销 .......... 88 开销如何影响总的高速缓存空间 .......... 88 删除高速缓存绑定 .......... 89 更改内存池的清洗区 .......... 90 如果清洗区过小 .......... 92 如果清洗区过大 .......... 93 设置管家以避免高速缓存的清洗 .......... 93 更改缓冲池的异步预取限制 .......... 94 更改内存池的大小 .......... 94 从内存池移走空间 .......... 94 从其它内存池移走空间 .......... 95 增加高速缓存分区数 .......... 97 设置高速缓存分区数 .......... 97 设置本地高速缓存分区数 .......... 97 优先级 .......... 98 删除内存池 .......... 98 由于页的使用而不能删除缓冲池时 .......... 99 高速缓存绑定对内存和查询计划的影响 .......... 99 从高速缓存刷新页 .......... 99 锁定以执行绑定 .......... 99 高速缓存绑定对存储过程和触发器的影响 .......... 100 使用配置文件配置数据高速缓存 .......... 100 配置文件的高速缓存和缓冲池条目 .......... 100 高速缓存配置指南 .......... 104 第 5 章管理多处理器服务器 .......... 107 Adaptive Server 内核 .......... 107 目标体系结构 .......... 108 内核模式 .......... 112 切换内核模式 .......... 113 任务 .......... 114 使用线程运行任务 .......... 114 配置 SMP 环境 .......... 115 线程池 .......... 115 管理引擎 .......... 117 启动和停止引擎 .......... 118 管理用户连接(仅进程模式) .......... 121 影响 SMP 系统的配置参数 .......... 122 第 6 章创建和管理用户数据库 .......... 125 创建和管理用户数据库的命令 .......... 125 管理用户数据库的权限 .......... 126 使用 create database 命令 .......... 127 为数据库指派空间和设备 .......... 128 缺省数据库大小和设备 .......... 129 估计所需空间 .......... 129 把事务日志存放在单独的设备上 .......... 130 估计事务日志大小 .......... 130 缺省日志大小和设备 .......... 131 将事务日志移动到其它设备 .......... 131 缩减日志空间 .......... 133 缩减日志空间时使用 dump 和 load database .......... 133 缩减日志空间时使用 dump 和 load transaction .......... 137 使用 for load 选项进行数据库恢复 .......... 143 使用 create database 的 with override 选项 .......... 144 更改数据库所有权 .......... 145 变更数据库 .......... 145 alter database 语法 .......... 146 使用 drop database 命令 .......... 147 管理空间分配的系统表 .......... 147 sysusages 表 .......... 148 获取有关数据库存储的信息 .......... 152 数据库设备名和选项 .......... 152 检查使用的空间量 .......... 153 查询系统表的空间使用信息 .......... 155 第 7 章装入和卸下数据库 .......... 157 概述 .......... 157 清单文件 .......... 158 复制和移动数据库 .......... 159 性能考虑事项 .......... 160 设备检验 .......... 160 装入和卸载数据库 .......... 160 卸下数据库 .......... 161 装入数据库 .......... 162 创建数据库的可装入副本 .......... 164 将数据库从一个 Adaptive Server 移到 另一个 Adaptive Server .......... 164 系统限制 .......... 165 quiesce database 扩展 .......... 165 第 8 章分布式事务管理 .......... 167 受影响的事务类型 .......... 168 由外部事务管理器协调的分布式事务 .......... 168 RPC 和 CIS 事务 .......... 169 SYB2PC 事务 .......... 170 启用 DTM 功能 .......... 171 安装许可密钥 .......... 171 启用 DTM 功能 .......... 171 配置事务资源 .......... 172 使用 Adaptive Server 协调服务 .......... 174 事务协调服务概述 .......... 174 需求和行为 .......... 176 配置参与者服务器资源 .......... 177 在异构环境使用事务协调服务 .......... 178 监控协调事务和参与者 .......... 179 DTM 管理和故障排除 .......... 179 事务和控制线程 .......... 179 获取有关分布式事务的信息 .......... 181 执行外部事务的步骤 .......... 185 分布式事务的崩溃恢复过程 .......... 186 尝试完成事务 .......... 187 编程与配置注意事项 .......... 191 第 9 章创建和使用段 .......... 193 Adaptive Server 段 .......... 193 系统定义的段 .......... 194 Adaptive Server 如何使用段 .......... 195 控制空间使用 .......... 195 改善性能 .......... 195 将表移到另一设备 .......... 197 创建段 .......... 198 更改段的范围 .......... 198 扩展段的范围 .......... 198 减小段的范围 .......... 199 向段指派数据库对象 .......... 200 在段上创建新对象 .......... 200 在段上放置已存在的对象 .......... 201 把文本页放在单独的设备上 .......... 204 对段创建聚簇索引 .......... 204 删除段 .......... 205 获取有关段的信息 .......... 205 sp_helpsegment .......... 206 sp_helpdb .......... 207 sp_help 和 sp_helpindex .......... 208 段和系统表 .......... 208 段的教程 .......... 209 第 10 章使用 reorg 命令 .......... 215 reorg 命令及其参数 .......... 215 使用 optdiag 实用程序评估对 reorg 的需求 .......... 216 将转移的行移动到主页 .......... 217 使用 reorg compact 撤消行转移 .......... 217 回收删除和更新后留下的未使用空间 .......... 217 不使用 reorg 命令的空间回收 .......... 218 回收未使用的空间并撤消行转移 .......... 219 重新创建表 .......... 219 运行 reorg rebuild 的前提条件 .......... 220 对索引使用 reorg rebuild 命令 .......... 221 使用 reorg rebuild index_name partition_name 重建索引 ...... 221 重建索引的空间要求 .......... 222 状态消息 .......... 222 用于大表重组的 resume 和 time 选项 .......... 222 在 time 选项指定 no_of_minutes .......... 223 第 11 章检查数据库一致性 .......... 225 什么是数据库一致性检查程序? .......... 225 页和对象分配 .......... 226 了解对象分配映射 (OAM) .......... 228 了解页链接 .......... 230 使用 dbcc 可执行哪些检查? .......... 230 了解各个 dbcc 命令的输出 .......... 231 检查数据库和表的一致性 .......... 233 dbcc checkstorage .......... 233 dbcc checktable .......... 236 dbcc checkdb .......... 238 检查页分配 .......... 239 dbcc checkalloc .......... 239 dbcc indexalloc .......... 240 dbcc tablealloc .......... 241 dbcc textalloc .......... 241 使用 fix | nofix 选项更正分配错误 .......... 242 使用 dbcc tablealloc 和 dbcc indexalloc 生成报告 .......... 243 检查系统表的一致性 .......... 243 使用一致性检查命令的策略 .......... 244 使用大 I/O 和异步预取 .......... 245 在您的节点安排数据库维护 .......... 245 数据库一致性问题导致的错误 .......... 247 报告被止的 checkstorage 和 checkverify 操作 .......... 247 软故障和硬故障的比较 .......... 248 使用 dbcc checkverify 检验故障 .......... 249 dbcc checkverify 的工作方式 .......... 249 何时使用 dbcc checkverify .......... 251 如何使用 dbcc checkverify .......... 252 使用 dbcc checkstorage 之前的准备工作 .......... 252 计划资源 .......... 253 配置工作进程 .......... 257 为 dbcc 设置命名高速缓存 .......... 258 配置一个 8 页的 I/O 缓冲池 .......... 259 为 dbccdb 分配磁盘空间 .......... 260 用于工作空间的段 .......... 260 创建 dbccdb 数据库 .......... 260 更新 dbcc_config 表 .......... 262 使用 sp_dbcc_updateconfig 添加缺省配置值 .......... 262 使用 sp_dbcc_updateconfig 删除配置值 .......... 263 查看当前配置值 .......... 263 维护 dbccdb .......... 263 重新评估并更新 dbccdb 配置 .......... 264 清除 dbccdb .......... 264 删除工作空间 .......... 265 对 dbccdb 执行一致性检查 .......... 265 从 dbccdb 生成报告 .......... 266 报告 dbcc checkstorage 操作的摘要 .......... 266 报告配置、统计和故障信息 .......... 266 使用 dbcc upgrade_object 升级编译对象 .......... 267 在生产之前查找编译对象错误 .......... 268 在升级使用数据库转储 .......... 271 确定编译对象是否已升级 .......... 271 第 12 章制定备份和恢复计划 .......... 273 跟踪数据库的变化 .......... 274 获取有关事务日志的信息 .......... 274 使用 delayed_commit 确定提交日志记录的时间 .......... 274 指定备份的职责 .......... 277 同步数据库及其日志:检查点 .......... 277 设置恢复间隔 .......... 277 自动检查点过程 .......... 278 进行自动检查点操作后截断日志 .......... 278 可用检查点 .......... 279 手动请求检查点 .......... 279 在系统出现故障或关机后自动恢复 .......... 280 快速恢复 .......... 280 Adaptive Server 启动序列 .......... 281 尽早使引擎进入联机状态 .......... 281 并行恢复 .......... 281 数据库恢复 .......... 282 恢复顺序 .......... 282 并行检查点 .......... 284 恢复状态 .......... 285 为进行快速恢复调优 .......... 285 恢复期间的故障隔离 .......... 286 脱机页的持续性 .......... 287 配置恢复故障隔离 .......... 287 获取有关脱机数据库和页的信息 .......... 288 使脱机页联机 .......... 289 DOL 锁定表的索引级故障隔离 .......... 290 脱机页的副作用 .......... 290 使用恢复故障隔离的恢复策略 .......... 291 评估损坏的程度 .......... 293 使用 dump 和 load 命令 .......... 294 进行例行数据库转储:dump database .......... 294 进行例行事务日志转储:dump transaction .......... 294 设备出现故障后复制日志:dump tran with no_truncate ....... 295 恢复整个数据库:load database .......... 295 将更改应用到数据库:load transaction .......... 296 使用户可以使用数据库:online database .......... 296 跨平台转储和装载数据库 .......... 296 关于转储和装载数据库和事务的限制 .......... 298 性能注释 .......... 299 将数据库移到另一 Adaptive Server .......... 299 升级用户数据库 .......... 300 使用特殊 dump transaction 选项 .......... 301 使用特殊装载选项标识转储文件 .......... 301 从备份恢复数据库 .......... 302 挂起和恢复对数据库的更新 .......... 304 使用 quiesce database 的准则 .......... 305 维护在主服务器和辅助服务器关系的服务器角色 .......... 307 使用 -q 选项启动辅助服务器 .......... 307 更新的“in quiesce”数据库日志记录值 .......... 307 更新转储序列号 .......... 308 使用 quiesce database 备份主设备 .......... 310 在抑制状态下制作存档副本 .......... 313 使用 mount 和 unmount 命令 .......... 315 使用 Backup Server 执行备份和恢复 .......... 315 与 Backup Server 通信 .......... 318 装入新卷 .......... 318 启动和停止 Backup Server .......... 319 配置服务器用于远程访问 .......... 320 选择备份介质 .......... 320 创建本地转储设备的逻辑设备名 .......... 321 列出当前设备名 .......... 322 添加备份设备 .......... 322 安排用户数据库的备份 .......... 323 安排例行备份 .......... 323 在其它时间备份数据库 .......... 323 安排 master 的备份 .......... 324 在每次更改后转储 master 数据库 .......... 325 保存脚本和系统表 .......... 325 截断 master 数据库事务日志 .......... 326 避免卷更换和恢复 .......... 326 安排 model 数据库的备份 .......... 326 截断 model 数据库的事务日志 .......... 326 安排 sybsystemprocs 数据库的备份 .......... 327 配置 Adaptive Server 以用于同时装载 .......... 327 收集备份统计信息 .......... 328 第 13 章备份和恢复用户数据库 .......... 329 指定数据库和转储设备 .......... 332 指定数据库名的规则 .......... 332 指定转储设备的规则 .......... 333 Backup Server 确定磁带设备 .......... 334 压缩转储 .......... 335 Backup Server 转储文件和压缩转储 .......... 337 装载压缩转储 .......... 338 指定远程 Backup Server .......... 339 指定磁带密度、块大小和容量 .......... 339 替换缺省密度 .......... 340 替换缺省块大小 .......... 340 指定转储命令的磁带容量 .......... 341 Backup Server 的非回绕磁带功能 .......... 341 指定卷名 .......... 342 从多个卷装载 .......... 342 标识转储 .......... 343 提高转储或装载性能 .......... 344 与之前版本的兼容性 .......... 344 以整数格式存储的标签 .......... 345 配置系统资源 .......... 345 指定其它转储设备:stripe on 子句 .......... 348 转储到多个设备 .......... 348 从多个设备装载 .......... 348 与转储相比装载所使用的设备较少 .......... 348 指定单个设备的特性 .......... 349 磁带处理选项 .......... 349 指定是否卸下磁带 .......... 350 回绕磁带 .......... 350 防止转储文件被覆盖 .......... 350 转储前重新初始化卷 .......... 351 转储和装载数据库时使用口令保护 .......... 351 替换缺省的消息显示目标 .......... 352 通过 with standby_access 使数据库处于联机状态 .......... 353 确定何时使用 with standby_access .......... 353 通过 with standby_access 使数据库处于联机状态 .......... 354 获取有关转储文件的信息 .......... 354 请求转储标头信息 .......... 354 确定数据库、设备、文件名和日期 .......... 355 设备出现故障后复制日志 .......... 356 截断日志 .......... 357 截断不在单独的段上的日志 .......... 357 在开发环境的早期截断日志 .......... 358 截断没有可用空间的日志 .......... 358 响应卷更改请求 .......... 361 用于转储的卷更改提示 .......... 361 用于装载的卷更改提示 .......... 363 恢复数据库:分步指导 .......... 364 获取事务日志的当前转储 .......... 365 检查空间使用情况 .......... 365 删除数据库 .......... 367 重新创建数据库 .......... 368 装载数据库 .......... 369 装载事务日志 .......... 369 使数据库处于联机状态 .......... 370 从较旧的版本装载数据库转储 .......... 371 将转储升级到当前版本的 Adaptive Server .......... 371 数据库脱机状态位 .......... 372 版本标识符 .......... 373 高速缓存绑定和装载数据库 .......... 373 数据库和高速缓存绑定 .......... 374 数据库对象和高速缓存绑定 .......... 375 跨数据库约束和装载数据库 .......... 376 第 14 章恢复系统数据库 .......... 377 恢复系统数据库 .......... 377 恢复 master 数据库 .......... 378 关于恢复进程 .......... 378 恢复过程总结 .......... 379 查找系统表的副本 .......... 379 建立新的主设备 .......... 380 在主恢复方式下启动 Adaptive Server .......... 382 重新创建 master 的设备分配 .......... 383 检查 Backup Server sysservers 信息 .......... 383 检验 Backup Server 是否在运行 .......... 384 装载 master 的备份 .......... 384 更新 number of devices 配置参数 .......... 385 在主恢复方式下重新启动 Adaptive Server .......... 385 检查系统表以检验 master 的当前备份 .......... 385 重新启动 Adaptive Server .......... 386 恢复服务器用户 ID .......... 386 恢复 model 数据库 .......... 387 检查 Adaptive Server .......... 387 备份 master .......... 387 恢复 model 数据库 .......... 388 恢复 sybsystemprocs 数据库 .......... 388 使用 installmaster 恢复 sybsystemprocs .......... 389 使用 load database 恢复 sybsystemprocs .......... 391 如何减小 tempdb 的大小 .......... 391 将 tempdb 重新设置为缺省大小 .......... 391 使用 disk reinit 和 disk refit 恢复系统表 .......... 394 使用 disk reinit 恢复 sysdevices .......... 394 使用 disk refit 恢复 sysusages 和 sysdatabase .......... 395 第 15 章存档数据库访问 .......... 397 概述 .......... 398 存档数据库的组件 .......... 399 使用存档数据库 .......... 401 配置存档数据库 .......... 402 调整修改页面区域的大小 .......... 402 增加分配给修改页面区域的空间量 .......... 403 实现存档数据库 .......... 403 使存档数据库联机 .......... 405 将事务日志装载到存档数据库 .......... 405 删除存档数据库 .......... 405 使用存档数据库 .......... 406 将 SQL 命令用于存档数据库 .......... 406 将 dbcc 命令用于存档数据库 .......... 407 典型的存档数据库命令序列 .......... 407 存档数据库的压缩转储 .......... 409 创建压缩内存池 .......... 409 升级和降级存档数据库 .......... 410 升级带有存档数据库的 Adaptive Server .......... 410 降级带有存档数据库的 Adaptive Server .......... 410 压缩转储的兼容性问题 .......... 411 存档数据库的限制 .......... 411 第 16 章自动扩展数据库 .......... 413 了解磁盘、设备、数据库和段 .......... 413 阈值操作过程 .......... 416 安装自动数据库扩展过程 .......... 416 运行 sp_dbextend .......... 417 sp_dbextend 接口的命令选项 .......... 417 验证当前阈值 .......... 417 对数据库进行自动扩展设置 .......... 420 约束和限制 .......... 422 第 17 章使用阈值管理可用空间 .......... 425 使用最后机会阈值监控可用空间 .......... 425 达到阈值 .......... 426 控制执行 sp_thresholdaction 的频率 .......... 426 回退记录和最后机会阈值 .......... 427 计算回退记录的空间 .......... 428 确定回退记录的当前空间 .......... 428 回退记录对最后机会阈值的影响 .......... 429 用户定义的阈值 .......... 429 共享的日志段和数据段的最后机会阈值和用户日志高速缓存 ........ 430 使用 lct_admin abort 止挂起的事务 .......... 430 为 master 数据库的事务日志增加空间 .......... 432 自动止或挂起进程 .......... 432 使用 abort tran on log full 止事务 .......... 432 唤醒挂起的进程 .......... 433 添加、更改和删除阈值 .......... 433 显示现有阈值的有关信息 .......... 434 阈值和系统表 .......... 434 添加可用空间阈值 .......... 434 更改或指定新的可用空间阈值 .......... 435 删除阈值 .......... 435 为日志段创建可用空间阈值 .......... 436 测试和调整新阈值 .......... 436 在其它段上创建其它阈值 .......... 439 确定阈值放置位置 .......... 439 创建阈值过程 .......... 440 声明过程参数 .......... 440 生成错误日志消息 .......... 440 转储事务日志 .......... 441 一个简单的阈值过程 .......... 442 一个更复杂的过程 .......... 442 决定在何处放置阈值过程 .......... 444 禁用数据段的可用空间计数 .......... 444 索引 ..........447
第一章 绪论 1.1. 选题背景 这几年,许多新名词涌入我们的视野:博客、圈子、播客、WAP等。这些都预示着我们进入了一个新的互联网阶段web 2.0,它是相对web 1.0的新的一类互联网应用的总称,是一次从核心内容到外部应用的革命[10]。这个阶段发展迅速,互联网应用趋于多样化,其变化最大的是由web 1.0网站创造内容的时代变为由用户创造内容的web 2.0时代。 在web 2.0应用,博客(Blog)是web 2.0核心应用最典型、最流行的代表之一,也是web 2.0技术应用的最直观的表现,是web 2.0精神和理念的具体体现。 1.2. 问题的提出 Blog记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识和他人分享、交流,同时又通过“六度空间”结识了更多志趣相投的朋友;而越来越多专业知识的 Blog 的出现,让我们看到了 Blog 更多所蕴涵的巨大的信息价值:不同的 Blog 选择不同的内容,收集和整理成为很多人关注的专业 Blog ——目前越来越多的人获取信息的来源是一些固定的 Blog 。随着博客人数的增加, Blog 作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构:网络信息不再是虚假不可验证的,交流和沟通更有明确的选择和方向性,单一的思想和群体的智慧结合变的更加有效,个人出版变成人人都可以实现的梦想—— Blog 正在影响和改变着我们的生活。 1.3. 系统的开发目标 管理员通过前台页面进入后台管理模块后,可对注册的博客用户进行维护,包括对注册用户的添加、查找、修改和删除。 管理员进入登录后,可对帐户进行管理,包括添加管理员帐户、修改管理员帐户、删除管理员帐户和对帐户进行权限设置。 博客用户通过前台登录后,可对自己的博客空间进行管理,包括发布自己的网络日志、收藏个人图片、和相关人员进行交流和沟通以及删除访问者发表的评论等。 因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能:(1)博客的注册、登录验证功能(2) 网络用户通过关键字搜索博文功能(3) 最热门博客页面推荐浏览(4) 文章详细内容及相关评论显示(5) 博客页面访问量统计(6) 博客个人文章管理维护功能(7) 博客个人文章分类管理维护功能(8) 博客个人友情链接维护功能(9) 博客个人基本信息管理维护功能(10) 博客图片上传及个人相册管理(11) 网络用户写留言,博主查看留言。 第二章 系统设计 2.1. 系统分析 在整个blog进行开发之前,要确定出整个项目的整体架构,包括系统的选型、运行环境的确定及系统结构设计。下面对这进行详细介绍。 在进行软件系统开发的最初环节,一般都需要进行系统的选型,即根据系统功能的实际需求,选择合适的开发工具及软件架构。 blog对系统的可靠性、稳定性有比较高的要求。本系统设计时,比较主流的B/S设计有基于JSP、ASP、PHP、CGI及J2EE等模式。相比较而言PHP的功能相对简单,不适合做大程序;而CGI效率相对较低,所以也不考虑。由于J2EE的开源的框架提供了MVC模式实现框架Struts、对象关系模型的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。 为了增加系统的吞吐量,提高并发处理客户请求数量,系统采用了IBM服务器作为主机。在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。 该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下: 1. 服务器端操作系统:独立于操作系统的跨平台系统,客户端MicroSoft Windows 2000及以上; 2. 数据库:MySQL 5.0.27版本; 3. Web服务器:Tomcat 5.5及以上版本,配合MVC设计模式及 Hibernate开发架构; 4. 客户端运行环境:能运行IE 5以上或Netscape 5以上浏览器的操作系统,配合使用Ajax技术; 5. 客户端运行工具:目前的系统采用浏览器作为客户端,为了支持Ajax开发框架,应该选择使用IE 5以上版本浏览器。 本网站以xp为Web平台,JSP+Ajax+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。 1、 系统处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。 2、 系统的开放性和系统的可扩充性:系统在开发过程,应该充分考虑以后的可扩充性。例如数据表用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。 3、 系统的易用性和易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的术语和文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。 4、 系统的数据要求:1、数据录入和处理的准确性和实时性。2、数据的一致性与完整性。3、数据的共享与独立性。 2.2. 系统的可行性分析 2.2.1. 技术可行性 技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户(这里是服务器,网速)提出的要求(如计算机的容量、速度等)。此外,还要考虑开发人员的水平,学习了两年的jsp开发,对于这个系统的编写,我想完整的之需要两个月就可以写出程序,再花上几天的调试,计划两个月左右就可以完成投入使用了。 我们掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的认识与一定的动手实践能力,考取了信息处理、程序设计、数据库技术等国家IT认证。从一定程度上具备了开发一个小型系统的能力。再有就! 2.2.2. 经济可行性 主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。这是个小型的系统,从投入的人力,财力与物力来讲是非常小的,发布出去之需要注册域名就可以了,从节省人力方面,可以让管理人员从繁与复杂的工作解脱出来,做更多的工作。 2.2.3. 管理可行性 有IP地址、用户名与密码等,可以下载一个FTP上传工具(cure)上传更新后的内容.可以在http://www.skycn.com/soft/683.html下载到. 下载以后,通过"站点管理"-->"新建站点".输入IP,用户名,密码.然后连接即可. 当然也可用FTP工具.直接在IE浏览器地址栏输入ftp://www.域名/然后输入用户名和密码.同样可以上传.随时更新文件! 第三章 开发环境的说明与安装 3.1. 开发语言的选择 3.1.1. JAVA简介 Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。 3.1.2. Web应用程序开发环境—JSP技术 JSP的全称是Java Server Pages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)加入JAVA程序片段和JSP标记,就构成了JSP页面。JSP具有以下的优点: 1、将业务层与表示层分离:使用JSP技术,网络开发人员可充分使用HTML来设计页面显示部分(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容; 2、能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务; 3、组件的开发和使用很方便:如ASP的组件是由C++,VB等语言开发的,并需要注册才能使用;而JSP的组件是用Java开发的,可以直接使用; 4、一次编写,处处运行:作为JAVA开发平台的一部分,JSP具有JAVA的所有优点,包括Write once , Run everywhere. 3.2. 数据库的选择 3.2.1. Web应用程序开发环境—SQLserver数据库 SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特点:   1.真正的客户机/服务器体系结构。   2.图形化用户界面,使系统管理和数据库管理更加直观、简单。   3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。   4.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。   5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。   6.对Web技术的支持,使用户能够很容易地将数据库的数据发布到Web页面上。   7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS才有。   SQL Server 2000与以前版本相比较,又具有以下新特性 :   1.支持XML(Extensive Markup Language,扩展标记语言)   2.强大的基于Web的分析   3.支持OLE DB和多种查询   4.支持分布式的分区视图   安装、运行SQL Server 2000的硬件需求   (1)计算机   Inter及其兼容计算机,Pentium 166Mz或者更高处理器或DEC Alpha和其兼容系统。   (2)内存(RAM)   企业版最少64MB内存,其他版本最少需要32MB内存,建议使用更多的内存。   (3)硬盘空间   完全安装(Full)需要180MB的空间,典型安装(Typical)需要170MB的空间,最小安装(Minimum)需要65MB的空间。 3.3. 开发工具的选择 MyEclipse,Deamweare,选择SQLserver作为后台的数据库,选择JAVA、JSP、JavaScript、Html作为应用程序开发工具,运用Tomcat服务器技术,整个系统完全基于B/S (Browser/Server)模式进行设计。 1、Tomcat应用服务器 目前支持JSP的应用服务器是较多的,Tomcat是其较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。 Tomcat是一个免费的开源的Serlvet容器,在Tomcat,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。 Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。 2、 B/S 开发模式 伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统。 过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集于客户端程序,因此,必然导致以下问题: 系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。 B/S模式带来了巨大的好处: 开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。 良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。 第四章 系统设计 4.1开发框架技术介绍 对于框架技术,我们采用Struts+ajax的整合! Struts是应用比较广泛的一种表现层框架 1、 Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Servlet,JSP和custom tag library构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将JavaBeans从Jsp/Servlet分离出来,而使用表现层框架则可以将Jsp剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息,一般是通过标签库(Taglib)实现,不同框架有不同自己的标签库,Struts是应用比较广泛的一种表现层框架。 2、 Ajax我们主要应用就是xmlhttprequest,回调函数实现局部刷新达道数据更新! 4.2需求分析 Blog网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言、友情链接、及图片的上传和图像的播放而为上网用户提供按博文主题搜索,查看注册用户的博文及提出相关评论,并为注册用户写留言,游览注册用户的相册、注册等功能的系统。下面就以两种不同的用户来分析博客网站的需求。 4.2.1注册博友 首先必须在博客首页登录填写用户名和密码,这样才能执行一些相关操作,不然就是普通用户只能查看一些信息,而不能发表博文。可以在管理页面上添加博文的分类,可以上传图片和游览自己的相册,在上传过程可以将一张图片定义为自己的签名,在个人管理页面注册用户还可以修改自己的个人信息。博文管理,友情链接管理及博文分类管理,用例图2。 图2 博客管理页面的用例图 在博客主界面发表博文时可以选择博文类型,这样可以更好管理自己的博文。并查看和删除网友对自己的博文的一些评论、查看和删除网友留下的一些留言,提供与其他网友交流的空间。更好交流,在信息时代人们通过个人空间沟通也用来但不能在自己的博客主页面提交评论和留言。。这样在本系统就可以为博友提供更多的个人色彩。在管理页面添加和删除友情连接。这样博友可以在自己空间快速定位自己的关心的网站。这样还可以让网友看到自己的一些信息。友情链接及网页访问量统计显示:在博客的个人页面还提供了推荐给普通网络用户的相关友情链接,此外,对个人页面的访问量也在随时进行统计,并在个人页面进行直观的显示。 博客主页面的用例图如图3所示: 图3 博客主页面的用例图 4.2.2 普通用户 在博客注册页面注册成为博客的注册用户,才可以拥有自己独立的空间,进入某一博客页面查看相关文章信息时,可以随时对自己所感兴趣的文章发表评论,同时也可以查看到其他人针对该博文的评论。普通用户在阅读博文时可以在最后留下自己的一些评论。他也可以留下更多的信息。这样他可以写留言。这样他留下的信息就更快地被博友所看到。普通用户进入博友的用例图如图4所示: 图4上网博友在博客主页面的用例图 普通网友可以搜索自己关心的一些数据。并且在搜索结果提供在结果范围内再次搜索。这样就可以将范围缩小。首页向注册用户提供登陆模块,注册用户在博客网站首页跟上网网友一样可以查看博客和博文推荐。上网网友可以注册成为博客用户,拥有自己独立的空间。这一模块的用例图如图5所示: 图5 博客首页的用例图 4.3 功能模块介绍 4.3.1 博客注册登录管理模块 博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。 该功能模块实现了以下几个子功能。 (1)新博客在线注册。 (2)博客登录管理。 (3)跳转到博客主页。 只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面发表日志,更不允许对博客页面信息进行管理维护。 该模块实现新博客的注册及登录验证功能。其,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。 4.3.2 博客及文章检索查询模块 博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。 该功能模块实现了以下几个子功能。 (1)热门博客页面推荐。 (2)最新博客日志推荐。 (3)日志信息关键字搜索。 该模块能够在网页随时提供在线的最新日志信息。该信息需要定期更新,网络用户可以随时获得最新日志以及最热门的博客推荐。在客户选择了某个博客或者某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客进行交流互动。 为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能,用户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多个页面来寻找所需的日志信息。 4.3.3博客页面显示模块 当网络用户进入某个人博客主页后,在该页面将提供博客日志列表的显示,同时为了方便用户浏览,在该模块提供根据分类名进行日志列表的显示,也提供日志评论的浏览,此外还允许用户在博客页面发表评论及留言。 该功能模块实现了如下几个子功能。 (1)用户可以分页查看对应的日志内容及评论信息。 (2)用户可以针对日志内容发表评论。 (3)用户可以针对博客进行留言。 (4)用户可以分类查看日志内容。 在该模块还提供了博客页面统计信息,日志、评论及留言信息分页显示等方便用户的显示效果。 4.3.4 博客个人维护管理模块 博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。 该功能模块实现了如下几个子功能: (1)日志及日志分类管理。 (2)评论及留言管理。 (3)个人基本信息维护管理。 借助该模块,用户可以随时对个人博客主页的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及其管理。 4.4 系统分析 本系统采用严格的J2 EE 应用结构,主要有如下几个分层。 1. 表现层:由JSP 页面组成。 2. MVC 层:使用Struts框架。 3. 业务逻辑层:主要由Spring loC 容器管理的业务逻辑组件组成。 4. DAO 层:由7 个DAO 组件组成,实现类必须继承Spring提供的HibernateDaoSupport。 5. Hibernate 持久层:由7 个PO 组成,并在Hibernate Session 管理下,完成数据库访问。 6. 数据库服务层:使用MySQL 数据库存储持久化数据。 系统的具体分层如图5 所示。 图6 系统结构图 在图6 黑色大方框内的MVC 控制层、Service 层及DAO 组件层的组件,都由Spring IOC 容器负责生成,并管理组件的实例(实例必须是单身模式的,本系统的bean基本上是单身的)。 4.3.1系统架构说明 本系统不仅严格按MVC 模式设计,还按J2 EE 分层设计,将间层严格分成业务逻辑层、DAO 层及数据持久层等。MVC 层的控制器绝对禁止持久层访问,甚至不参与业务逻辑的实现。表现层采用传统JSP 技术。 本系统采用的是典型的J2EE 三层结构,分为表现层、间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在间层处理。客户端不直接与数据库交互,而是通过组件与间层建立连接,再由间层与数据库交互。Jsp广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。间层采用的是流行的Spring+Hibernate ,为了将控制层与业务逻辑层分离,又细分为以下几种。 Web 层,就是MVC 模式里面的C,负责逻辑层和表现层的交互。调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC采用Struts框架。 Service 层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO 层为基础,通过对DAO 组件的正面模式包装,完成系统所要求的业务逻辑。 DAO 层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。 PO ,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate 作为ORM 框架。Spring 的作用贯穿了整个间层,将Web 层、Service 层、DAO 层及PO 无缝整合,其数据服务层用来存放数据。 通过使用Hibernate 持久层,可以避免使用传统的JDBC 操作数据库,对JDBC近一步包装,从而更好地使用面向对象的方式来操作数据库。保证了整个软件开发过程以面向对象的方式进行,即面向对象分析、设计及编程,透过Hibernte 对PO对象持久化操作,不管插入还是查询都是通过PO。 4.3.2实现DAO 层 DAO 还有助于提升系统的可移植性。独立的DAO 层使得系统能在不同的数据库之间轻易切换,底层的数据库实现对于业务逻辑组件是透明的。数据库移植时仅仅影响DAO 层,不同数据库的切换不会影响业务逻辑组件,因此提高了系统的可复用性。 对于不同的持久层技术, Spring 的DAO 提供一个DAO 模板,将通用的操作放在模板里完成,而对于特定的操作,则通过回调接口完成。Spring 为Hibernate 提供的DAO 支持类是: HibernateDaoSupport。 4.3.3 DAO组件的定义 DAO 组件提供了各持久化对象的基本的CRUD 操作。而在DAO 接口里则对DAO组件包含的各种CRUD 方法提供了声明,但有一些IDE 工具也可以生成基本的CRUD方法。使用DAO 接口的原因是:避免业务逻辑组件与特定的DAO组件藕合。由于DAO 组件的方法不是开始就设计出来的,其的很多方法可能会随着业务逻辑的需求而增加,但以下几个方法是通用 的。 • get: 根据主键加载持久化实例。 • saveor update: 保存或更新持久化实例。 • remove: 删除持久化实例。 上面涉及了7个PO,这样我们必须设计7个对应的PODao 7个Dao必须继承BaseDao 这个BaseDao 有对接口的一些基本的CURD操作。7个Dao 如下。LinksDao ,BlogDao、FeedBackDao、ArticleDao、MessageDao、SortDao、PictureDao。这7个Dao 分别封装对自己的持久化对象的一些操作。 4.3.4 部署DAO 层 HibernateDaoSupport类只需要一个SessionFactory 属性,即可完成数据库访问。SessionFactroy创建Session,而数据库的CRUD操作都是有Session 完成,并将查询结果保存在一级缓存,每次用户提交一次会话,可能需要Session完成一些数据库的操作而实际的数据库访问由模板类HibernateTemplate完成,该模板类提供了大量便捷的方法,简化了数据库的访问。 第五章 数据库设计 5.1定义(数据词典) 1、数据库表名的定义使用:重点字_table;重点字可以是多个英文单词的组合,从组合的第二单词起首字母大写,字段命名是能表达字段内容的英文单词的组合,组合方式同表名重点字相同。 2、NN 表示not null 不填表可为空。 3、数据类型不使用固定数据库的类型,标识大众类型,如字符串、字符、数字等。这样在更改数据库时需求的数据是可移植的 4、输写数据表在数据库的物理名称,可用自己熟悉的语言再定义表名称,方便沟通。 5、长度定义又数据类型决定:如字符串可选8000以下,数字可在50位之间,字符只允许一位。 6、输入方式表示数据的来源:生成表由程序或数据库的索引自动生成,而不需人工录入;输入表示通过文本框等输入的数据;选择表单选框、复选框、下拉列表等通过选择输入的数据;自定获取是为外码的输入设定的,它由程序自动获取。 5.2主要表结构如下 1. 表[blogs]日志数据表 字段名 类型 说明 blogid Int(10) 日志的ID title text 日志标题 pubtime Int(11) 日志发表时间 authorid Int(8) 日志作者的UID replies Int(8) 日志的评论数 tbs Int(8) 日志的trackback数 views Int(8) 日志的查看次数 category Int(3) 日志所属的分类的ID content mediumtext 日志正文内容 property Int(1) 日志的属性 0 公开日志 1 锁定日志 2 隐藏日志 3 一般草稿 2.表[user]博友登陆信息表 字段名 类型 说明 userid Int(10) 博友ID nicheng Text 博友在博客里的称呼 username text 登陆时的用户名 password text 登陆密码 3.表[register]用户数据表 字段名 类型 说明 userid Int(8) 登陆时需要用到的用户名 username text 用户昵称 userpwd Int(8) 登陆密码 regtime Int(11) 注册时间 usergroup Int(2) 所属的用户组ID email text 用户email qq text Qq号 msn text 用户msn gender text 用户性别 第六章 主要功能的实现 6.1 登录控制: if(this.session().getAttribute("rand")!=null){//检验随机数是否为空 if(this.checkCode.equals(this.session().getAttribute("rand").toString())){//比较随机数 uservo=userbo.queryUserByINfo(uservo);//检验用户信息并将信息返回 if(uservo!=null){//看用户是否存在 this.setUserpurview(uservo.getPurviewId());//设置用户权限 this.session().setAttribute("user", uservo);//将用户信息放在session return SUCCESS;//返回用户主界面页面 }else{ return ERROR;返回到失败页面} }else{return ERROR; }}else{ return ERROR; } 6.2 Ajax 读取txt格式数据 function ajax_function(var1,var2){ var xmlHttp = null; //创建xmlhttprequest try { // Firefox, Opera 8.0+, Safari 对不同浏览器常见不同对象 xmlHttp=new XMLHttpRequest(); } catch (e) { try { // Internet Explorer xmlHttp=new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { xmlHttp=new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { alert('Your browser does not support AJAX!'); return false; } } } xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState == 4 && xmlHttp.status == 200) { var someDiv = document.getElementById('someDiv'); someDiv.innerHTML=xmlHttp.responseText; } } xmlHttp.open('GET','www/index.jsp?param1='+var1+'¶m2='+var2,true); xmlHttp.send(null); } 6.3 系统架构与数据库的连接 由于我们开发时是利用MVC的设计模式,所以在此我们的数据库连接是封存在M的,即只要我们和M层连接上,就已经连接上数据库了。 Hibernate使用数据库和配置信息来为应用程序提供持久化服务(以及持久的对象)。我们只需在hibernate.cfg.xml配置以下语句即可: sa jdbc:microsoft:sqlserver://localhost:1035;DatabaseName=webexamine org.hibernate.dialect.SQLServerDialect sqlserver2000 aaaaaaaa com.microsoft.jdbc.sqlserver.SQLServerDriver org.hibernate.dialect.HSQLDialect true 其实我们在这里配置了一个数据连接,以保证系统的正常运行,我们需要使用proxool连接池,我们经测试,分别用proxool、tomcat JNDI、Hibernate自带的连接池进行配置之后分别执行以上的10000条数据插入和读取,结果显示proxool的性能要优于tomcat JNDI,而Hibernate自带的就更不用提了,差很远。依次为:39265毫秒/10000条、26013毫秒/10000条、50029毫秒/10000条。 6.4数据的备份与还原 我们根据Mysql数据库提供的backup(备份)命令及restore(恢复)命令,进行数据库的备份与还原,在连接数据库后,我们在需要备份和还原的地方加入以下语句: backup database to disk='备份文件名' restore database from disk='备份文件名' 然后发送给数据库的管理对象进行数据还原与备份。 在知道了数据库备份与还原的接口后,用JAVA进行具体的连接,这里采用JAVA直连的方 法,部分代码如下: try{ String user="sa";//连接sqlserver2000数据库登陆名 String password="aaaaaaaa";//连接sqlserver2000数据库密码 String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//连接数据库的驱动字符串 String connStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=webexamine";//注册连接字符串 Connection con=null; Class.forName( sDBDriver);//注册数据库驱动 con = Driver Manager.getConnection(connStr ,user,password);//获取数据库连接 String sql="backup database xncsims to disk='d:\\xncback.dat'";//备份数据库,还原数据库和着类似,只是将这句变为还原的语句 st=con.createStatement();//创建发送对象 rs=st.executeQuery(sql);//这里就是把你的SQL语句发到数据库执行 }catch(SQLException e){ System.out.println(e.toString());} catch(Exception e){ System.out.println(e.toString());} 6.4部分效果预览图 主页 留言界面
王体育馆管理软件介绍 一、简介 王王体育馆管理软件也称【羽毛球管理软件】【羽毛球管理系统】【羽毛球馆管理系统】【羽毛球馆管理软件】【羽毛球馆收费软件】【羽毛球馆计费软件】是一套用于羽毛球馆、羽毛球场、体育馆、网球馆、台球厅等体育场馆的专业优秀的电脑收费管理系统。该系统采用先进的dotnet开发技术,结合国内先进的管理思想和管理方法,历经2年开发而成。集POS收银收费管理,场地按时计费管理,优惠卡管理,场地管理、场地预订,会员管理,等强大功能为一身。能够有效的杜绝管理上的漏洞,使客户和经营者的联系更加紧密减少客户的流失,大幅度降低管理工作的工作量, 降低服务员的劳动强度节约成本,使您的经营管理变得轻松简单。持卡消费真正让客户感受到球馆的档次 二、管理特色: 王王羽毛球管理软件跟国内其他同类相比,最大的特点是采用独创的价格规则来定义场地价格,使场地价格定义方式灵活、强大、操作非常简单。可以实现任意的您能想到的优惠方案,而设置时只需要增加一条价格规则。不像其他软件,您需要对每个场地不同时间,输入不同的价格,输到你头昏。其他的特点下面依次展开论述。 2.1场地价格定义灵活方便、功能强大。 系统出厂时已经设置了定价规则。用户可以自定义定价规则。定价规则有四个要素: ? 客户 (可以指定为全部、会员、非会员、或者通过公式指定的一部分会员) ? 场地 (可以指定全部场地、一类场地,比如羽毛球场、或者其的几片场地、一片场地) ? 时间:可以指定为全部时间,或者部分时间:比如节假日、春节、五一、十一 ? 周末,选择时间非常方便 ? 价格,支持按小时或者按次计费缺省一次是2小时,可以参数设置一次的长短 系统可以建立无数个定价规则,规则有优先级别,级别高的规则起作用,这样理论上系统可以实现无穷个价格方案,而付出的成本却是异常低廉的,这为经营者发挥营销才能 提供了物质基础。举个例子:老板说,我要实现“过生日的会员在每天下午6点到7点打球只要10元/小时”,试问国内那个软件可以实现?而我们可以轻松实现。 您也许会说,定价规则很复杂,我不会使用怎么办?您放心。定价规则可以方便导入导出,如果您不懂设置价格规则,我们可以帮助你设置,然后把价格规则发送给你,使您解除后顾之忧。同时系统里内置规则实现了多种收费标准,您可以随意选择使用。 2.2场地预定简单、方便。 系统支持临时、每日、每周三种类型的预定,每日、每周预订只要录入一次、到时间会自动显示在界面上、场地的状态图会自动显示场地已经被预订、过了预订时间后场地的状态又会自动还原。 2.3界面美观大方全键盘操作 (不用鼠标也能操作),多达26多种皮肤,100%满足您的个性要求。 2.4强大的优惠卡管理功能。 支持四种类型的优惠卡。 按次计算的优惠卡:比如300元10次卡(每次1小时) 按时间计算的优惠卡 :比如500元20小时卡, 现金充值卡:面值1000元,售价800元,相当于打八折 包时卡:如:包打一年1000元 支持优惠卡新卡登记、优惠卡销售、优惠卡充值功能。 2.5强大的会员管理 支持会员照片、支持摄像头照相。 支持会员充值、转账 会员消费查询 会员密码,设置密码后,不用带卡也可以消费 支持会员组概念,系统提供了很多公式,可以方便快速 对会员分组,比如: 50岁以上会员 20岁以上50以下会员 20岁以下会员 积分大于100的会员 积分大于1000的会员 今天过生日的会员 累计消费超过10000元的会员 余额超过5000元的会员 入会超过2年的老顾客 通过分组,可以实现复杂的收费规则,而实现起来却非常简单 会员卡支持磁卡、ID卡、IC卡、MF1卡(非接触IC卡)多种介质 目前支持深圳方卡M1读卡机,常州银联M1读卡机其他类型的读卡机 在不断增加。 2.6支持POS销售商品。 支持商品的条码管理,支持入库,销售,库存等,可按照商品上的条码建立商品信息,销售时直接用条码扫描枪进行扫描,方便快速;支持LED客户显示屏,方便客户 2.7可以打印多种小票 开场单、结账单、售卡单、充值单、会员转账单。 是否打印可以参数设置 2.8定时提醒功能。 支持预订到达前30(可以设置)分钟每1(可以设置)分种提示一次 场地到时退场提醒,也支持设置提前时间,频率。 提示方式多样,会出现小老人,同时状态栏出现信息图标。 支持声音提示 2.9两种收费方式。 普通【租场后付款】 预付【租场前付款】 2.10直观的场地状态图 场地图形化,完善强大的tooltip功能 场地状态图以不同的图形显示:占用、预订、已付款、停用、空闲五种状态。 场地时序图以另外一个视角显示场地占用情况,可以清楚的看到那些场地的利用效率高、那些效率低。 自定义场地状态图,可以自己设定场地的行列位置,可以设置显示的图形(木地板还
王羽毛球馆管理软件介绍 一、简介 王王羽毛球馆管理软件也称【羽毛球管理软件】【羽毛球管理系统】【羽毛球馆管理系统】【羽毛球馆管理软件】【羽毛球馆收费软件】【羽毛球馆计费软件】是一套用于羽毛球馆、羽毛球场、体育馆、网球馆、台球厅等体育场馆的专业优秀的电脑收费管理系统。该系统采用先进的dotnet开发技术,结合国内先进的管理思想和管理方法,历经2年开发而成。集POS收银收费管理,场地租金分时段分场地计费管理,场地预订,会员管理,短信预定管理、灯光控制、语音交互等强大功能为一身。能够有效的杜绝管理上的漏洞,使客户和经营者的联系更加紧密减少客户的流失,大幅度降低管理工作的工作量, 降低服务员的劳动强度节约成本,使您的经营管理变得轻松简单。持卡消费真正让客户感受到球馆的档次. 本系统适合于以下场馆使用:羽毛球馆,乒乓球馆,体育馆、体育心,网球馆,保龄球馆, 沙狐球馆, 台球馆, 高尔夫馆, 瑜伽馆 馆,武术馆馆, 泰拳道馆馆,柔道馆馆, 健身房馆,游泳馆, 溜冰场馆,篮球场馆,足球场馆, 射击场馆, 卡丁车场馆, 滑雪场馆,潜水俱乐部馆等等 下图为自定义界面全屏显示: 二、管理特色: 王王羽毛球管理软件跟国内其他同类相比,最大的特点是采用独创的价格规则来定义场地价格,使场地价格定义方式灵活、强大、操作非常简单。可以实现任意的您能想到的优惠方案,而设置时只需要增加一条价格规则。不像其他软件,您需要对每个场地不同时间,输入不同的价格,输到你头昏。其他的特点下面依次展开论述。 2.1场地价格定义灵活方便、功能强大。 系统出厂时已经设置了定价规则。用户可以自定义定价规则。定价规则有四个要素: ? 客户 (可以指定为全部、会员、非会员、或者通过公式指定的一部分会员) ? 场地 (可以指定全部场地、一类场地,比如羽毛球场、或者其的几片场地、一片场地) ? 时间:可以指定为全部时间,或者部分时间:比如节假日、春节、五一、十一 ? 周末,选择时间非常方便 ? 价格,支持按小时或者按次计费缺省一次是2小时,可以参数设置一次的长短 系统可以建立无数个定价规则,规则有优先级别,级别高的规则起作用,这样理论上系统可以实现无穷个价格方案,而付出的成本却是异常低廉的,这为经营者发挥营销才能 提供了物质基础。举个例子:老板说,我要实现“过生日的会员在每天下午6点到7点打球只要10元/小时”,试问国内那个软件可以实现?而我们可以轻松实现。 您也许会说,定价规则很复杂,我不会使用怎么办?您放心。定价规则可以方便导入导出,如果您不懂设置价格规则,我们可以帮助你设置,然后把价格规则发送给你,使您解除后顾之忧。同时系统里内置规则实现了多种收费标准,您可以随意选择使用。 2.2商品折扣定义方便灵活。 商品折扣支持简单折扣和复杂折扣。 简单折扣只要定义每个商品的会员价和零售价。 复杂折扣可以根据 时间【平时,闲时,白天、晚上】 客人【所以人,会员、非会员、一部分会员】 商品【全部商品、部分商品、部分商品类别】 数量的不同而使用不同的折扣。可以方便的实现开业优惠、节日促销。 可以实现的典型的优惠方案: 开业五折优惠 购买可口可乐5瓶以上10瓶以内打8折 金卡会员晚上8点到10点购买脉动可以达8.6折。 2.3场地预定简单、方便。 系统支持临时、每日、每周三种类型的预定,每日、每周预订只要录入一次、到时间会自动显示在界面上、场地的状态图会自动显示场地已经被预订、过了预订时间后场地的状态又会自动还原。提供史上最强大的图形查询界面,可以按日、按周、按月查询预订信息。预订人可以临时取消不来,操作灵活。支持球票管理,出售球票时自动产生预订。开场时无需付款. 2.4界面美观大方全键盘操作 (不用鼠标也能操作),多达26多种皮肤,100%满足您的个性要求。 2.5强大的优惠卡管理功能。 支持四种类型的优惠卡。 按次计算的优惠卡:比如300元10次卡(每次1小时) 按时间计算的优惠卡 :比如500元20小时卡, 现金充值卡:面值1000元,售价800元,相当于打八折 包时卡:如:包打一年1000元 支持优惠卡新卡登记、优惠卡销售、优惠卡充值功能。 2.6强大的会员管理 支持会员照片、支持摄像头照相。 支持会员充值、转账 会员消费查询 会员密码,设置密码后,不用带卡也可以消费 支持会员组概念,系统提供了很多公式,可以方便快速 对会员分组,比如: 20岁以上50以下会员 积分大于1000的会员 今天过生日的会员 累计消费超过10000元的会员 余额超过5000元的会员 入会超过2年的老顾客 通过分组,可以实现复杂的收费规则,而实现起来却非常简单 会员卡支持磁卡、ID卡、IC卡、MF1卡(非接触IC卡)多种介质 目前支持深圳方卡M1读卡机,常州银联M

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧