jdbc:hsqldb:hsql: jdbc:hsqldb:hsqls: jdbc:hsqldb:http: jdbc:hsqldb:https: //localhost //192.0.0.10:9500 / /dbserver.somedomain.com /an_alias /enrollme



Similar documents
epub 61-2

软件概述

RunPC2_.doc

Oracle 4

untitled

最即時的Sybase ASE Server資料庫診斷工具

天津天狮学院关于修订2014级本科培养方案的指导意见

untitled


1

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的

PowerPoint 演示文稿

Data Server_new_.doc

Microsoft Word htm

1 重 要 提 示 基 金 管 理 人 的 董 事 会 及 董 事 保 证 本 报 告 所 载 资 料 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 内 容 的 真 实 性 准 确 性 和 完 整 性 承 担 个 别 及 连 带 责 任 基 金 托 管 人 中 国

IP505SM_manual_cn.doc

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

SiteView技术白皮书

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

FileMaker 16 ODBC 和 JDBC 指南

13 根 据 各 种 网 络 商 务 信 息 对 不 同 用 户 所 产 生 的 使 用 效 用, 网 络 商 务 信 息 大 致 可 分 为 四 级, 其 中 占 比 重 最 大 的 是 ( A ) A 第 一 级 免 费 信 息 B 第 二 级 低 收 费 信 息 C 第 三 级 标 准 收 费

ABSSetup.doc

XXXXXXXX

目錄

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

佛教招〔2016〕9号--佛山市教育局关于调整面向全市招收艺术特长生音乐专业考试内容及大纲的通知.doc

全國新住民火炬計畫(草案)

FileMaker 15 ODBC 和 JDBC 指南

IC-900W Wireless Pan & Tilt Wireless Pan & Tilt Remote Control / Night Vision FCC ID:RUJ-LR802UWG

(Methods) Client Server Microsoft Winsock Control VB 1 VB Microsoft Winsock Control 6.0 Microsoft Winsock Control 6.0 1(a). 2

ebook140-9

1 o o o CPU o o o o o SQL Server 2005 o CPU o o o o o SQL Server o Microsoft SQL Server 2005

turbomail方案

目 錄 第 一 章 weberp 簡 介... 6 第 一 節 概 述... 6 第 二 節 安 全 性... 7 第 三 節 功 能... 7 一 銷 售 及 訂 單... 7 二 稅... 8 三 應 收 帳 款... 8 四 存 貨... 8 五 購 買... 9 六 應 付 帳 款... 9

PPBSalesDB.doc


Simulator By SunLingxi 2003

1 重要提示

基于UML建模的管理管理信息系统项目案例导航——VB篇

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

ebook 132-2

(CIP) Web /,. :, ISBN X.W T P393.4 CIP (2004) Web ( ) ( / ) : * 787

Chapter 2

RUN_PC連載_8_.doc

VMware vCenter Operations Manager 管理指南 - vCenter Operations Manager 5.6

ebook 185-6

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2

untitled

30.00% 25.00% 25.00% 22.50% 20.00% 15.00% 12.50% 15.00% 12.50% 10.00% 7.50% 5.00% 2.50% 2.50% 0.00% 文 学 理 学 工 学 法 学 教 育 学 管 理 学 历 史 学 艺 术 学 ( 三 ) 学 生

f2.eps

引 例 3 现 实 生 活 中 的 电 子 商 务 案 例 1 王 小 姐 是 一 家 网 络 公 司 职 员, 现 在 已 经 是 有 八 个 月 身 孕 的 准 妈 妈 由 于 出 行 不 是 很 方 便, 但 是 又 要 购 置 一 些 孕 妇 与 婴 儿 出 生 后 的 物 品 于 是 来

gongGaoMingCheng

营 销 策 划 岗 部 门 招 聘 职 位 招 聘 人 数 岗 位 职 责 基 本 要 求 岗 位 任 职 要 求 6 参 与 项 目 产 品 研 究 客 户 需 求 研 究 竞 争 环 境 研 究 价 格 研 究 等 项 目 市 场 研 究 ; 7 公 司 经 纪 业 务 的 品 牌 管 理, 对

ebook140-8


untitled

RUN_PC連載_12_.doc

ebook71-13

Microsoft Word 期交所簡章 _110805_

untitled

untitled

穨UPSentry_SC_.PDF

NT 4

% ~ AAA

经华名家讲堂

TopTest_Adminstrator.doc

<4D F736F F D20B1A6D3AFB2DFC2D4D4F6B3A4B9C9C6B1D0CDD6A4C8AFCDB6D7CABBF9BDF C4EAB5DA31BCBEB6C8B1A8B8E62E646F63>

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

ebook 96-16

Microsoft Word - WebGoat用户指南-beta2.doc

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

深入理解otter

校友会系统白皮书feb_08

自动化接口

北京市工商局网络安全系统解决方案

Cadence SPB 15.2 VOICE Cadence SPB 15.2 PC Cadence 3 (1) CD1 1of 2 (2) CD2 2of 2 (3) CD3 Concept HDL 1of 1

.. 3 N

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

SQL Server SQL Server SQL Mail Windows NT

untitled

untitled

目次 

2005 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. Sun Sun Berkeley BSD UNIX X/Open Company, Ltd. / Sun Sun Microsystems Su

叮当旺业通

目 录 目 录 平 台 概 述 技 术 架 构 技 术 特 点 基 于 统 一 平 台 的 多 产 品 线 支 撑 先 进 性 安 全 性 开 放 性 高 性 能 和

第 11 章 互聯網技術 11.1 互聯 網 和 萬 維 網 的 發 展 歷 史 A. 互聯網的發展 互聯網是由 ARPANET 開 始發展的 1969 年 美國國防部高級研究計劃署 (ARPA) 把部分軍事研究所和大 的電腦連接起來 建造了㆒個實驗性的電腦網絡 稱為 ARPANET 並 列 的功能

Microsoft Word 電腦軟體設計.doc

ebook10-5

Basic System Administration

untitled

关于做好2008年12月全国高校计算机联合考试

FileMaker 15 WebDirect 指南

温州市政府分散采购

快 速 入 门 (Linux) 概 述 文 档 目 的 本 文 档 介 绍 了 如 何 快 速 创 建 Linux 系 统 实 例 远 程 连 接 实 例 部 署 环 境 等 旨 在 引 导 您 一 站 式 完 成 实 例 的 创 建 登 录 和 快 速 环 境 部 署 云 服 务 器 ECS 实

部 门 项 目 国 家 级 市 级 众 创 空 间 奖 励 政 策 支 持 类 大 渡 口 区 创 新 创 业 扶 持 办 法 ( 试 行 ) ( 大 渡 口 府 办 发 ) 第 三 条 众 创 空 间 项 目 培 育 奖 励 政 策 支 持 类 大 渡 口

HOL-CHG-1695

国家信息中心2012年部门预算

CA Nimsoft Monitor Snap 快速入门指南

C3_ppt.PDF

Transcription:

sh -x path/to/hsqldb start > /tmp/hstart.log 2>&1 第 4 章 高 级 话 题 4.1 本 章 目 的 许 多 在 论 坛 或 邮 件 组 中 重 复 出 现 的 问 题 将 会 在 本 文 档 中 进 行 解 答 如 果 你 打 算 在 应 用 程 序 中 使 用 HSQLDB 的 话, 那 么 你 应 该 好 好 阅 读 一 下 本 文 章 本 章 的 内 容 覆 盖 与 系 统 相 关 的 问 题 与 SQL 相 关 的 问 题 请 参 看 SQL 问 题 一 章 4.2 数 据 库 连 接 访 问 HSQLDB 数 据 库 的 正 常 方 式 是 通 过 JDBC 的 Connection 接 口 介 绍 提 供 访 问 数 据 库 服 务 的 不 同 方 法 可 以 在 SQL 问 题 一 章 中 找 到 在 我 们 的 JdbcConnection 的 JavaDoc[../src/ org/hsqldb/jdbc/jdbcconnection.html] 中 详 细 讲 述 了 如 何 通 过 JDBC 连 接 数 据 库, 并 提 供 了 样 例 1.7.2 版 本 的 HSQLDB, 提 供 了 访 问 多 个 数 据 库 的 新 功 能, 与 此 一 同 引 进 了 区 分 不 同 类 型 的 数 据 库 连 接 的 统 一 方 法 通 常 的 驱 动 标 识 为 jdbc:hsqldb, 后 面 紧 跟 协 议 标 识 (mem: file: res: hsql: http: hsqls: https:), 如 果 是 server 的 话 后 面 是 主 机 标 识 和 端 口 表 示, 最 后 是 数 据 库 标 识 表 4.1. Hsqldb URL 组 件 Driver and Protocol Host and Port Database jdbc:hsqldb:mem: not available accounts 小 写 并 且 是 单 个 词 语 的 标 识 符 在 生 成 第 一 个 连 接 时 创 建 内 存 数 据 库 随 后 仍 然 使 用 相 同 的 连 接 URL 连 接 到 已 经 存 在 的 数 据 库 旧 的 URL 格 式 :jdbc:hsqldbl 创 建 或 连 接 到 与 新 的 URL 格 式 jdbc:hsqldb:mem: 相 同 的 数 据 库 jdbc:hsqldb:file: not available mydb /opt/db/accounts C:/data/mydb 文 件 路 径 指 定 了 数 据 库 文 件 在 上 面 的 例 子 中, 第 一 个 例 子 指 的 是 用 来 运 行 应 用 程 序 的 java 命 令 的 目 录 中 的 一 系 列 mydb.* 文 件 第 二 个 和 第 三 个 例 子 指 的 是 在 主 机 上 的 绝 对 路 径 jdbc:hsqldb:res: not available /adirectory/dbname 数 据 库 文 件 可 以 从 一 个 指 定 的 jar 文 件 中 加 载, 方 式 与 Java 程 序 访 问 资 源 文 件 相 同 这 些 jar 文 件 被 看 作 为 Java 命 令 一 部 分 上 面 的 /adirectory 表 示 一 个 jar 里 面 的 目 录

jdbc:hsqldb:hsql: jdbc:hsqldb:hsqls: jdbc:hsqldb:http: jdbc:hsqldb:https: //localhost //192.0.0.10:9500 / /dbserver.somedomain.com /an_alias /enrollments /quickdb 主 机 和 端 口 用 来 指 定 server 的 IP 地 址 或 者 主 机 名 以 及 一 个 可 选 的 端 口 号 要 连 接 的 数 据 库 通 过 一 个 别 名 来 指 定 这 个 别 名 是 在 server.properties 文 件 中 定 义 的 一 个 小 写 的 字 符 串, 它 指 的 是 server 文 件 系 统 上 的 一 个 实 际 数 据 库 或 者 server 上 临 时 的 内 存 数 据 库 下 面 是 server.properties 或 webserver.properties 中 的 几 行 样 例 它 定 义 了 上 面 列 出 的 数 据 库 别 名 以 及 客 户 端 的 访 问 方 法, 其 中 涉 及 到 不 同 文 件 和 内 存 数 据 库 database.0=file:/opt/db/accounts dbname.0=an_alias database.1=file:/opt/db/mydb dbname.1=enrollments database.2=mem:adatabase dbname.2=quickdb Server URL 的 旧 格 式, 例 如 jdbc:hsqldb:hsql//localhost, 可 以 与 URL 新 格 式 jdbc:hsqldb:hsql//localhost/, 连 接 到 同 一 个 数 据 库 新 格 式 URL 中 的 数 据 库 别 名 是 一 个 长 度 为 零 的 空 字 符 串 在 下 面 的 例 子 中,/home/dbmaster/ 目 录 下 的 数 据 库 文 件 lists.* 与 空 别 名 相 关 联 database.3=/home/dbmaster/lists dbname.3= 4.2.1 连 接 属 性 每 个 新 的 到 数 据 库 的 JDBC 连 接 都 能 够 指 定 连 接 属 性 属 性 user 和 password 通 常 都 是 必 须 的 在 1.8.0 中, 下 列 可 选 的 属 性 也 经 常 被 用 到 连 接 属 性 可 以 通 过 : DriverManager.getConnection (String url, Properties info); 在 建 立 连 接 时 指 定 也 可 以 在 整 个 连 接 URL 后 面 附 上 属 性 来 指 定 表 4.2. 连 接 属 性 get_column_name true 结 果 集 中 的 列 名 这 个 属 性 用 来 与 其 他 JDBC 驱 动 的 实 现 兼 容 当 属 性 的 值 为 true( 默 认 为 true) 时,ResultSet.getColumnName(int c) 将 返 回 相 关 的 列 名 如 果 为 false 时, 该 方 法 将 会 返 回 与 ResultSet.getColumnLabel(int column) 相 同 的 值 例 子 如 下 : jdbc:hsqldb:hsql://localhost/enrollments;get_column_name=false 当 一 个 结 果 集 用 在 用 户 自 定 义 的 存 储 过 程 里 面 时, 该 属 性 将 总 是 使 用 默 认 值 true

ifexists false 仅 当 数 据 库 存 在 的 时 候 连 接 这 个 只 在 mem: 和 file: 数 据 库 上 起 作 用 如 果 值 为 true, 当 URL 中 指 定 的 数 据 库 不 存 在 时, 将 不 会 创 建 一 个 新 的 数 据 库 当 该 值 为 false 时, 如 果 数 据 库 不 存 在, 那 么 一 个 新 的 mem: 或 file: 数 据 库 将 会 被 创 建 在 URL 不 规 范 导 致 数 据 库 不 能 被 创 建 的 时 候, 将 该 值 设 为 tue 比 较 有 利 于 解 决 问 题 举 例 如 下 : jdbc:hsqldb:file:enrollments;ifexists=true shutdown false 当 最 后 一 个 连 接 关 闭 时, 关 闭 数 据 库 这 个 属 性 用 来 模 仿 1.7.1 以 及 更 老 版 本 的 行 为. 当 最 后 一 个 数 据 库 连 接 关 闭 的 时 候, 数 据 库 将 会 自 动 关 闭 这 个 属 性 只 有 在 第 一 个 数 据 库 连 接 建 立 的 时 候 生 效 第 一 个 连 接 指 的 是 打 开 数 据 库 的 连 接 这 个 属 性 在 随 后 的 并 发 连 接 上 使 用 时 没 有 任 何 效 果 这 个 命 令 有 两 个 用 途, 一 个 是 用 于 测 试 套 件, 当 数 据 库 的 连 接 从 JVM 环 境 中 创 建, 接 着 立 即 在 另 一 个 JVM 环 境 创 建 连 接 ; 另 一 个 用 于 应 用 程 序, 不 容 易 配 置 环 境 来 关 闭 数 据 库 例 如 在 用 户 报 告 的 样 例 中 的 web 应 用 服 务 器, 最 后 一 个 连 接 的 关 闭 和 web app 的 关 闭 是 同 时 的 此 外, 当 一 个 进 程 内 数 据 库 的 连 接 创 建 了 一 个 新 的 数 据 库 或 者 打 开 了 一 个 已 有 的 数 据 库 ( 也 就 是 说, 它 是 应 用 程 序 创 建 的 第 一 个 数 据 库 连 接 ), 所 有 的 用 户 自 定 义 的 数 据 库 属 性 都 可 以 作 为 URL 属 性 来 制 定 这 个 特 点 被 用 来 指 定 属 性 来 强 制 更 严 格 遵 守 SQL 标 准, 或 者 在 数 据 库 文 件 创 建 之 前 改 变 cache_scale 或 相 似 的 属 性 但 是, 对 于 新 的 数 据 库 来 说, 推 荐 使 用 SET PROPERTY 命 令 来 完 成 这 些 设 置 4.3 属 性 文 件 HSQLDB 应 该 与 一 组 配 置 文 件 来 进 行 不 同 的 配 置, 从 1.7.0 以 来, 属 性 命 名 已 经 简 化, 许 多 新 的 属 性 被 引 进 在 所 有 的 属 性 文 件 中, 值 都 是 大 小 写 敏 感 的 所 有 的 值 除 了 文 件 名 以 外 都 是 必 须 的, 而 且 都 是 小 写 ( 例 如 :server.silent=false 将 不 会 生 效, 而 server.silent=false 可 以 正 常 工 作 ) 属 性 文 件 和 存 储 在 文 件 中 的 设 置 如 下 所 示 : 表 4.3. HSQLDB 属 性 文 件 File Name Location Function server.properties webserver.properties <dbname>.properties 运 行 Server 类 的 命 令 所 在 的 目 录 运 行 Web Server 类 的 命 令 所 在 的 目 录 数 据 库 的 所 有 文 件 所 在 的 目 录 HSQLDB 作 为 使 用 HSQL 协 议 通 信 的 数 据 库 server 运 行 所 进 行 的 配 置 HSQLDB 作 为 使 用 HTTP 协 议 通 信 的 数 据 库 server 运 行 所 进 行 的 配 置 对 每 个 特 定 的 数 据 库 所 作 的 配 置 运 行 数 据 库 server 的 属 性 文 件 不 会 自 动 生 成, 你 应 该 创 建 包 含 自 己 属 性 的 文 件, 在 属 性 文 件 中 对 每 个 属 性 都 包 含 了 server.property 和 value 对

每 个 数 据 库 的 属 性 文 件 是 由 数 据 库 引 擎 生 成 的, 在 关 闭 数 据 库, 该 文 件 可 以 自 己 编 辑 在 1.8.0 版 本 中, 大 多 数 属 性 文 件 能 够 通 过 SQL 命 令 来 修 改 4.3.1 Server and Web Server 属 性 在 server.properties and webserver.properties 文 件 中, 支 持 的 属 性 及 其 默 认 值 如 下 所 示 : 表 4.4. server 和 webserver 属 性 Value Default Description server.database.0 test 要 使 用 的 第 一 个 数 据 库 文 件 的 路 径 和 文 件 名 server.dbname.0 "" 第 一 个 数 据 库 小 写 的 server 别 名 server.urlid.0 NONE UNIX 初 始 化 脚 本 使 用 的 SqlTool urlid( 如 果 在 非 UNIX 平 台 上 运 行 Server/WebServer 或 没 有 使 用 我 们 提 供 的 UNIX 初 始 化 脚 本, 就 不 要 使 用 这 个 属 性 ) server.silent true 不 会 再 控 制 台 上 显 示 大 量 的 信 息 server.trace false 在 控 制 台 显 示 JDBC 的 跟 踪 (trace) 信 息 在 1.8.0 版 本 中, 每 个 server 能 够 同 时 开 启 10 个 不 同 的 数 据 库 server.database.0 属 性 定 义 了 文 件 名 / 路 径, 而 server.dbname.0 定 义 了 client 用 来 连 接 的 数 据 库 的 别 名 数 字 0 对 于 第 二 个 数 据 库 将 会 递 增 为 1, 以 此 类 推 server.database.{0-9} 的 值 能 够 使 用 mem:, file: 或 res: 前 缀 和 在 数 据 库 连 接 中 讨 论 过 的 属 性 例 如 :database.0=mem:temp;sql.enforce_strict_size=true; server.properties 文 件 中 特 有 的 属 性 如 下 : 表 4.5. server 属 性 Value Default Description server.port 9001 ( 一 般 情 况 ) 或 554 ( 如 果 使 用 TLS 加 密 ) 用 于 和 客 户 端 通 信 的 TCP/ IP 端 口 所 有 的 数 据 库 都 是 在 相 同 的 端 口 监 听 server.no_system_exit true 当 数 据 库 关 闭 时, 没 有 System.exit() 调 用 webserver.properties 文 件 中 特 有 的 属 性 如 下 : 表 4.6. webserver 属 性 Value Default Description server.port 80 用 于 和 客 户 端 通 信 的 TCP/IP 端 口 server.default_page index.html Webserver 的 默 认 页 面 server.root./ Webserver 中 网 页 根 目 录 的 位 置.<extension>? 像.html=text/html 等 多 个 属 性 定 义 了 webserver 中 静 态 页 面 的 MIME 类 型

对 于 MIME 类 型 列 表 可 以 参 看 Webserver.java 的 源 文 件 上 面 所 有 属 性 都 可 以 在 启 动 server 的 命 令 行 中, 由 省 略 掉 server. 前 缀 后 的 属 性 来 指 定 4.3.2 从 应 用 程 序 中 启 动 Server 如 果 你 要 从 应 用 程 序 中 启 动 Server, 你 应 该 创 建 Server 或 Web Server 的 实 例, 然 后 用 字 符 串 的 形 式 指 定 属 性 启 动 server, 不 要 使 用 命 令 行 或 批 处 理 文 件 可 以 从 org.hsqldb.test.testbase 的 源 文 件 中 找 到 范 例 注 意 关 于 升 级 : 如 果 你 已 经 有 自 定 义 的 属 性 文 件, 应 该 把 属 性 修 改 为 新 的 命 名 格 式 注 意,server.database.n 和 server.dbname.n 属 性 末 尾 数 字 的 使 用 4.3.3 个 别 数 据 库 属 性 每 个 数 据 库 都 有 自 己 的 <dbname>.properties 文 件, 还 包 含 了 <dbname>.script and <dbname>.data. 属 性 文 件 包 含 一 些 重 要 的 key/value 对 在 版 本 1.8.0 中, 新 的 SQL 命 令 允 许 大 多 数 数 据 库 属 性 使 用 下 面 的 方 式 进 行 修 改 : SET PROPERTY "property_name" property_value 通 过 SET PROPERTY 可 以 修 改 的 属 性 在 下 面 的 表 中 进 行 描 述 其 他 的 属 性 只 在 属 性 文 件 中 进 行 描 述, 而 且 这 些 文 件 只 能 在 数 据 库 关 闭 后 到 重 启 之 前 通 过 编 辑.properties 文 件 来 修 改 在 数 据 库 操 作 时, 只 有 下 面 列 出 的 用 户 自 定 义 的 属 性 可 以 修 改, 而 改 变 其 他 的 属 性 将 会 导 致 不 可 预 知 的 故 障 这 些 属 性 的 大 多 数 是 在 1.7.0 版 本 作 为 新 特 性 添 加 进 来 的 表 4.6. 数 据 库 相 关 属 性 文 件 的 属 性 Value Default Description readonly false 整 个 数 据 库 是 只 读 的 该 值 为 true 时, 使 用 中 的 数 据 库 不 能 修 改 如 果 数 据 库 要 从 CD 上 打 开, 这 个 属 性 应 该 设 置 为 true 在 修 改 这 个 设 置 之 前, 应 该 使 用 SHUTDOWN COMPACT 命 令 关 闭 数 据 库, 确 保 数 据 的 一 致 性 和 简 介 ( 仅 用 在 属 性 文 件 中 ), 但 也 可 以 用 于 一 个 连 接 属 性 以 只 读 方 式 打 开 一 个 普 通 的 数 据 库 hsqldb.files_readonly false 数 据 库 文 件 将 不 能 被 写 入 数 据 该 值 为 true 时,MEMORY 表 中 的 数 据 可 以 被 修 改, 也 可 以 添 加 新 的 MEMEORY 表 但 在 数 据 库 关 闭 时, 这 些 变 动 将 不 会 被 保 存 到 下 来 当 该 值 为 true 时,CACHE 表 和 TEXT 表 将 总 是 只 读 的 ( 只 用 于 属 性 文 件 中 ) hsqldb.cache_file_scale 1 设 置 大 数 据 文 件 的 限 制, 一 旦 设 置 的 话, 这 个 限 制 将 会 上 升 到 最 大 的 8GB 可 以 通 过 这 个 属 性 设 置 到 8 来 将.data 文 件 的 容 量 大 小 从 2GB 增 加 到 8GB 将 这 个 改 变 应 用 到 现 有 的 数 据 库 时, 应 该 先 执 行 SHUTDOWN 脚 本, 然 后 在 重 新 打 开 数 据 库 之 前 将 下 面 的 property=value 行 添 加 到.properties 文 件 中 :

hsqldb.cache_file_scale=8 当 数 据 库 中 没 有 CACHED 表 时 ( 例 如, 在 一 个 新 的 数 据 库 中 ), 这 个 属 性 可 以 使 用 SQL 命 令 设 置 ( 与 在 属 性 文 件 中 直 接 修 改 属 性 值 的 方 式 截 然 相 反 ) ( 可 以 设 置 属 性 ) sql.enforce_size false 字 符 串 列 的 去 空 白 和 填 充 这 个 属 性 不 再 支 持, 请 使 用 sql.enforce_sctrict_size sql.enforce_strict_size false 大 小 的 强 制 检 查 和 字 符 串 列 填 充 遵 循 关 于 数 据 库 大 小 的 和 数 据 类 型 精 确 度 的 SQL 标 准 当 该 值 为 true 是, 所 有 在 INSERT INTO 或 UPDATE 语 句 影 响 的 行 记 录 中 的 CHARACTER,VARCHAR, NUMERIC 和 DECIMAL 值 需 要 重 新 检 查 SQL 表 定 义 中 指 定 的 大 小 如 果 值 太 大 的 话, 将 会 抛 出 一 个 异 常, 比 指 定 的 大 小 要 小 的 所 有 的 CHARACTER 值 将 用 空 格 来 填 充 为 了 指 定 数 据 值 亚 秒 级 的 解 析 度, 对 于 TIMESTAMP(0) 和 TIMESTAMP(6) 也 是 允 许 的 当 该 值 为 false( 默 认 值 ) 时, 插 入 的 字 符 串 将 不 做 任 何 修 改 进 行 存 储 ( 可 以 设 置 属 性 ) sql.tx_no_multi_rewrite false 事 务 管 理 在 读 未 提 交 的 隔 离 模 式 下, 一 个 事 务 可 以 在 另 一 个 未 提 交 的 事 务 插 入 或 更 新 的 行 记 录 上 进 行 写 操 作 如 果 该 值 设 置 为 true, 在 这 种 场 景 下 进 行 写 操 作 时 将 会 抛 出 异 常 ( 可 以 设 置 属 性 ) hsqldb.cache_scale 14 内 存 缓 存 指 数 以 3 (2 value ) 表 示 保 持 在 内 存 中 的 cached 表 的 最 大 的 行 数 默 认 的 结 果 是 对 所 有 的 cached 表, 任 何 时 候 可 以 在 内 存 中 保 持 的 最 高 行 记 录 数 为 3 16384 该 属 性 的 取 值 范 围 是 8-18.( 可 以 设 置 属 性 ) 如 果 该 属 性 的 值 可 以 通 过 SET PROPERTY 来 设 置 的 话, 那 么 在 下 个 数 据 库 关 闭 或 checkpoint, 它 将 变 得 比 较 有 效 hsqldb.log_size 200 执 行 检 查 点 是 的 日 志 大 小 该 属 性 的 值 是 以 兆 字 节 (MB) 计 算 的, 它 指 的 是.log 文 件 在 checkpoint 发 生 之 前 所 能 达 到 的 大 小 一 个 checkpoint 重 写.script 文 件, 而 且 清 除.log 文 件 这 个 属 性 值 可 以 通 过 SQL 命 令 SET LOGSIZE nnn 来 修 改 runtime.gc_interval 0 强 制 垃 圾 收 集 每 当 生 成 一 些 结 果 集 行 对 象 或 缓 存 行 对 象 时, 使 用 这 个 属 性 来 强 制 垃 圾 收 集 该 属 性 的 默 认 值 0 指 程 序 不 会 强 制 进 行 垃 圾 收 集 当 数 据 库 引 擎 在 一 个 独 占 的 JVM 内 部 作 为 server 运 行 时, 不 应 该 设 置 这 个 值 当 数 据 库 用 在 一 些 JRE 的 应 用 程 序 的 进 程 内 时, 这 个 属 性 比 较 有 用 一 些 JRE 在 做 任 何 自 动 内 存 收 集 之 前, 会 增 加 内 存 堆 的 大 小 这 个 设 置 将 会 预 防 内 存 对 不 必 要 的 扩 大 该 属 性 的 典 型 值 可 能 在 10,000 到 100,000 之 间 ( 仅 用 在 属 性 文 件 中 ) hsqldb.nio_data_file true 使 用 nio 方 法 访 问 数 据 库 文 件 当 HSQLDB 使 用 Java 1.4 或 更 高 版 本 进 行 编 译 及 运 行 时, 将 这 个 属 性 设 置 为 false 将 会 避 免 nio 方 法 的 使 用, 因 为 nio 方 法 将 会 导 致 速 度 略 微 降 低 如 果 数 据 文 件 大 于 256MB, 在 第 一 次 打 开 时, 不 要 使 用 nio 方 法 如 果 文 件 增 长 到 大 于 需 要 分 配 给 nio 访 问 的 可 用 内 存 时, 这 时 候 应 该 使 用 nio 方 法 ( 可 以 设 置 属 性 ) 如 果 在 定 义 CACHED 表 之 前 使 用, 它 会 应 用 到 当 前 的 session 中, 否 则, 它 将 会 在 SHUTDOWN 和 重 启 或 CHECKPOINT 时 生 效

hsqldb.default_table_type memory 使 用 不 带 条 件 的 CREATE TABLE 创 建 的 表 类 型 CREATE TABLE 命 令 在 默 认 会 生 成 一 个 MEMORY 表 将 该 属 性 的 值 设 置 为 "cached", 将 会 默 认 生 成 一 个 cached 表 像 CREATE MEMORY TABLE 或 CREATE CACHED TABLE 这 样 带 条 件 的 命 令 不 受 这 个 属 性 的 影 响 ( 可 以 设 置 属 性 ) hsqldb.applog 0 应 用 程 序 的 日 志 级 别 默 认 级 别 0 表 示 不 记 录 日 志 级 别 1 会 将 包 括 所 有 失 败 的 持 久 化 相 关 的 事 件 记 录 到 日 志 里 这 些 事 件 将 会 记 录 在 以.app.log 结 尾 的 文 件 中 textdb.* 0 新 TEXT 表 的 默 认 属 性 覆 盖 数 据 库 引 擎 对 新 创 建 的 text 表 默 认 值 的 属 性 在 text 表 中 SET <tablename> SOURCE <source string> 命 令 中 的 设 置 覆 盖 数 据 库 引 擎 和 数 据 库 属 性 文 件 的 默 认 值 单 独 的 textdb.* 属 性 列 在 TEXT 表 中 ( 可 以 设 置 属 性 ) 当 一 个 进 程 内 数 据 库 的 连 接 创 建 了 一 个 新 的 数 据 库 或 者 打 开 一 个 已 有 的 数 据 库 时 ( 也 就 是 说, 它 是 第 一 个 应 用 程 序 创 建 的 一 个 数 据 库 连 接 ), 上 面 列 出 的 所 有 用 户 自 定 义 属 性 可 以 在 URL 属 性 中 指 定 注 意 : 关 于 升 级 : 从 1.7.0 开 始, 数 据 库 文 件 的 位 置 将 不 再 被 属 性 文 件 中 定 义 的 路 径 覆 盖 所 有 属 于 数 据 库 的 文 件 位 于 相 同 的 目 录 下, 属 性 sql.compare_in_locale=true 将 不 再 支 持 如 果 该 行 在 属 性 文 件 中 存 在 的 话, 它 将 数 据 库 切 换 到 当 前 默 认 的 collation 参 见 SET DATABASE COLLATION2 命 令 当 HSQLDB 用 在 OpenOffice.org 时, 一 些 属 性 值 会 有 不 同 的 默 认 值 这 些 属 性 和 值 如 下 : hsqldb.default_table_type=cached hsqldb.cache_scale=13 hsqldb.log_size=10; hsqldb.nio_data_file=false sql.enforce_strict_size=true 4.4 配 置 数 据 库 属 性 的 SQL 命 令 有 一 些 数 据 库 属 性 是 以 SET 开 头 的 SQL 命 令 来 设 置 的 表 4.8 SQL 命 令 属 性 SET WRITE_DELAY {{TRUE FALSE} <seconds> <milliseconds> MILLIS 默 认 值 TRUE 表 示 记 录 在 日 志 中 的 数 据 库 变 动, 每 隔 20 秒 会 被 同 步 到 文 件 系 统 一 次 FALSE 表 示 记 录 日 志 和 同 步 操 作 之 间 没 有 任 何 延 迟 数 字 0 也 可 以 用 来 指 定 同 步 没 有 延 迟 时 间 使 用 这 个 命 令 的 目 的 是 万 一 整 个 系 统 发 生 崩 溃, 可 以 控 制 数 据 库 的 丢 失 量 延 迟 1 秒 意 味 着 写 到 磁 盘 的 数 据 至 多 在 崩 溃 前 最 后 一 秒 被 丢 掉 所 有 写 入 的 数 据 在 这 之 前 已 经 被 同 步 或 者 应 该 是 可 以 恢 复 的 这 个 设 置 应 该 在 运 行 数 据 库 引 擎 所 使

用 的 硬 件 可 靠 行 性, 使 用 的 磁 盘 系 统 类 型, 电 源 故 障 的 可 能 性 等 基 础 上 来 指 定 所 存 储 的 数 据 库 的 性 质 也 应 该 被 考 虑 一 般 来 说, 当 系 统 非 常 可 靠 时, 这 个 设 置 可 以 使 用 默 认 值 如 果 系 统 不 是 非 常 可 靠, 或 者 数 据 非 常 关 键 的 话, 这 个 延 迟 在 1 秒 或 2 秒 内 已 经 足 够 了 仅 仅 在 最 糟 糕 的 情 况 下 或 者 大 多 数 是 关 键 数 据 时, 设 置 延 迟 为 0 或 指 定 为 FALSE, 不 过 这 样 将 会 把 数 据 库 引 擎 的 速 度 降 低 为 磁 盘 子 系 统 执 行 文 件 同 步 操 作 的 速 度 10 毫 秒 的 值 可 以 通 过 添 加 MILLIS 到 命 令 行 中 来 指 定 但 是 在 实 际 情 况 中, 延 迟 100 毫 秒 将 会 提 供 六 天 崩 溃 一 次 的 99.99999% 的 可 靠 性 SET LOG_SIZE <numeric value> 数 据 库 引 擎 将 所 有 的 数 据 库 变 化 在 其 发 生 时 记 录 到 日 志 文 件 中 这 个 日 志 文 件 可 能 被 同 步 到 上 面 所 讲 的 基 于 WRITE_DELAY 属 性 的 磁 盘 上 日 志 文 件 除 非 是 异 常 关 闭, 否 则 将 不 会 被 重 用 也 就 是 说, 数 据 库 进 程 不 是 被 SHUTDOWN 命 令 终 结 的 话, 或 者 它 被 SHUTDOWN IMMEDIATELY 命 令 终 结 日 志 默 认 的 最 大 体 积 是 200MB 当 日 志 达 到 最 大 体 积 时, 将 会 执 行 CHECKPOINT 操 作 这 个 操 作 将 会 把 其 他 数 据 库 文 件 保 存 为 持 久 态, 并 且 删 除 旧 的 文 件 值 0 表 示.log 文 件 没 有 大 小 限 制 SET CHECKPOINT DEFRAG <numeric value> 当 CACHED 表 中 的 记 录 行 被 更 新 或 者 删 除 时, 大 多 数 情 况 下 空 间 可 以 被 重 用 但 是, 一 些 未 使 用 的 空 间 将 迟 早 会 留 在.data 文 件 中, 特 别 是 当 大 的 表 被 删 除 或 者 表 的 结 构 发 生 变 化 时 一 个 CHECKPOINT 操 作 通 常 不 重 新 回 收 空 的 空 间, 但 是 CHECKPOINT DEFRAG 会 总 是 回 收 空 的 空 间 这 个 属 性 决 定 了 在 正 常 的 CHECKPOINT 中, 或 日 志 的 大 小 超 过 的 它 的 上 限 时, 是 否 由 管 理 员 进 行 初 始 化 Numeric value 指 的 是 在 要 强 制 进 行 DEFRAG 操 作 的.data 文 件 中, 有 多 少 M 字 节 是 空 的 空 间 如 果 该 值 设 置 得 较 低, 将 会 导 致 频 繁 的 DEFRAG 操 作 值 0 则 表 示 不 会 执 行 自 动 的 DEFRAG 操 作 默 认 的 值 是 200MB 闲 置 空 间 SET REFERENTIAL INTEGRITY {TRUE FALSE} 这 个 值 默 认 为 TRUE 如 果 批 量 数 据 需 要 加 载 到 数 据 库 中 时, 这 个 属 性 在 批 量 加 载 过 程 中 可 被 设 置 为 FALSE 它 允 许 以 任 意 顺 序 加 载 相 关 的 表 该 属 性 在 批 量 加 载 完 成 后 应 该 被 设 置 回 TRUE 如 果 已 经 加 载 的 数 据 没 有 保 证 遵 循 相 关 的 完 整 性 约 束, 那 么 SQL 查 询 应 该 在 加 载 后 运 行 以 辨 别 和 修 改 任 意 不 遵 循 标 准 的 行 记 录