﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-liuyz2006-文章分类-hsqldb</title><link>http://www.blogjava.net/liuyz2006/category/50860.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 23 Mar 2012 02:15:53 GMT</lastBuildDate><pubDate>Fri, 23 Mar 2012 02:15:53 GMT</pubDate><ttl>60</ttl><item><title>Hsqldb安装与使用 （转）</title><link>http://www.blogjava.net/liuyz2006/articles/372092.html</link><dc:creator>阿者</dc:creator><author>阿者</author><pubDate>Sat, 17 Mar 2012 06:06:00 GMT</pubDate><guid>http://www.blogjava.net/liuyz2006/articles/372092.html</guid><wfw:comment>http://www.blogjava.net/liuyz2006/comments/372092.html</wfw:comment><comments>http://www.blogjava.net/liuyz2006/articles/372092.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuyz2006/comments/commentRss/372092.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuyz2006/services/trackbacks/372092.html</trackback:ping><description><![CDATA[<div style="width: 100%">
<table class="modth" cellspacing="0" cellpadding="0" width="100%" border="0">
<tbody>
<tr>
<td class="modtl" width="7">&nbsp; 
<td class="modtc" noWrap>
<div class="modhead"><span class="modtit"></span></div>
<td class="modtc" noWrap align="right">
<td class="modtr" width="7">&nbsp;</td></tr></tbody></table>
<div class="modbox" id="m_blog" style="overflow-x: hidden">
<div class="tit">Hsqldb安装与使用 （转）</div>
<div class="date">2011-12-12 14:58</div>
<table style="table-layout: fixed; width: 100%">
<tbody>
<tr>
<td>
<div class="cnt" id="blog_text">
<p><span>&nbsp; HSQLDB</span><span style="font-family: 宋体">是一个轻量级的纯</span><span>Java</span><span style="font-family: 宋体">开发的开放源代码的关系数据库系统，其体积小，占用空间小，使用简单，支持内存运行方式等特点。可以在</span><span><a href="http://sourceforge.net/projects/hsqldb/files/" rel="nofollow">http://sourceforge.net/projects/hsqldb/files/</a></span><span style="font-family: 宋体">下载最新的</span><span>HSQLDB</span><span style="font-family: 宋体">版本。我这里下载的是</span><span>HSQLDB 1.8.13</span><span style="font-family: 宋体">版本。下载完之后，把它解压到任一目录下，如</span><span>E:\hsqldb</span><span style="font-family: 宋体">下，完成安装工作。</span></p>
<p><span>Hsqldb</span><span style="font-family: 宋体">有四种运行模式：</span></p>
<p><span>一、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">内存（</span><span>Memory-Only</span><span style="font-family: 宋体">）模式：所有的数据都将在内存中完成，如果程序退出，则相应的数据也将同时被销毁。连接</span><span>JDBC</span><span style="font-family: 宋体">的实例为：</span><span>jdbc:hsqldb:mem:dbname</span></p>
<p><span>二、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">进行（</span><span>In-Process</span><span style="font-family: 宋体">）模式：此模式从应用程序启动数据库，由于所有的数据都将写到文件中，所以，即使程序退出，数据也不会被销毁。</span><span>In-Process</span><span style="font-family: 宋体">不需要另外启动，可以通过</span><span>DriverManager.getConnection(jdbcUriName,&#8221;sa&#8221;,&#8221;&#8221;)</span><span style="font-family: 宋体">；方式即可启动数据库。连接</span><span>JDBC</span><span style="font-family: 宋体">的实例为：</span></p>
<p><span>jdbc:hsqldb:file:/E:/hsqldb/data/dbname</span></p>
<p><span>jdbc:hsqldb:file:/opt/db/dbname</span></p>
<p><span>jdbc:hsqldb:file:dbname</span></p>
<p><span>三、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">服务器模式：此模式下</span><span>HSQLDB</span><span style="font-family: 宋体">跟其它数据库服务器一样，需要通过服务器的形式来进行启动，可以通过</span><span>java &#8211;cp ../lib/hsqldb.jar org.hsqldb.Server &#8211;database.0 testdb &#8211;dbname.0 testdbName</span><span style="font-family: 宋体">的命令启动一个守护进程。连接</span><span>JDBC</span><span style="font-family: 宋体">的实例为：</span><span>jdbc:hsqldb:hsql://localhost:&lt;port&gt;/dbname</span></p>
<p><span>四、<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span>Web</span><span style="font-family: 宋体">服务器模式：此模式以</span><span>WEB</span><span style="font-family: 宋体">服务器的形式启动，并通过</span><span>HTTP</span><span style="font-family: 宋体">协议接受客户端命令。从</span><span>1.7.2</span><span style="font-family: 宋体">版本开始，</span><span>Web</span><span style="font-family: 宋体">服务器模式的</span><span>HSQLDB</span><span style="font-family: 宋体">开始支持事务处理。可以通过</span><span>java &#8211;cp ../lib/hsqldb.jar org.hsqldb.WebServer &#8211;database.0 testdb &#8211;dbname.0 testdbname</span><span style="font-family: 宋体">的命令来启动。</span></p>
<p><span>&nbsp;</span></p>
<p><span style="font-family: 宋体">重点讨论</span><span>hsqldb</span><span style="font-family: 宋体">服务器模式的启动方法和连接和实际</span><span>java</span><span style="font-family: 宋体">程序的</span><span>JDBC</span><span style="font-family: 宋体">连接情况。假设</span><span>JDK</span><span style="font-family: 宋体">已经安装到机器上，环境变量等都正确设置。</span></p>
<p><span style="font-family: 宋体">首先在</span><span>E:\hsqldbTest</span><span style="font-family: 宋体">目录下建立两个子目录，</span><span>data</span><span style="font-family: 宋体">和</span><span>lib</span><span style="font-family: 宋体">目录，</span><span>data</span><span style="font-family: 宋体">用来存放数据，</span><span>lib</span><span style="font-family: 宋体">用来管理</span><span>jar</span><span style="font-family: 宋体">包。将解压之后的</span><span>hsqldb</span><span style="font-family: 宋体">中的</span><span>lib</span><span style="font-family: 宋体">目录下的</span><span>hsqldb.jar</span><span style="font-family: 宋体">文件拷贝到</span><span>E:\hsqldbTest\lib</span><span style="font-family: 宋体">目录下。</span></p>
<p><span>1．<span>&nbsp; </span></span><span style="font-family: 宋体">在</span><span>hsqldbTest</span><span style="font-family: 宋体">目录下创建</span><span>runServer.bat</span><span style="font-family: 宋体">文件，其内容为：</span></p>
<p><span>cd data</span></p>
<p><span>@java -classpath ../lib/hsqldb.jar org.hsqldb.Server</span></p>
<p><span>&nbsp;</span></p>
<p><span>2．<span>&nbsp; </span></span><span style="font-family: 宋体">保存</span><span>runServer.bat</span><span style="font-family: 宋体">文件，并双击运行该文件，此时回弹出命令行窗口，如下图，表示已启动</span><span>HSQLDB</span><span style="font-family: 宋体">数据库。</span></p>
<div><img src="http://hiphotos.baidu.com/qiaoruigang/pic/item/79cbcd5c10385343a5171c6b9313b07ec8808885.jpg"  alt="" /></div>&nbsp; 
<p><span style="font-family: 宋体">此时，在</span><span>data</span><span style="font-family: 宋体">目录下产生了三个文件，如：</span></p>
<p><span>test.lck </span><span style="font-family: 宋体">&#8212;&#8212;标识数据库锁状态。</span></p>
<p><span>test.log </span><span style="font-family: 宋体">&#8212;&#8212;运行数据库产生的</span><span>log</span><span style="font-family: 宋体">信息，它将记录每一个运行和用户操作环节。</span></p>
<p><span>test.properties</span><span style="font-family: 宋体">&#8212;&#8212;数据库的配置信息，包括分配的内存大小等，可更具需要修改。</span></p>
<p><em><span style="font-family: 宋体">注：如果在命令行窗口中按下</span><span>[Ctrl] + [C]</span></em><em><span style="font-family: 宋体">组合键，数据库将退出并关闭。</span><span></span></em></p>
<p><span>&nbsp;</span></p>
<p><span>3．<span>&nbsp; </span></span><span style="font-family: 宋体">再创建</span><span>runManager.bat</span><span style="font-family: 宋体">文件，用来启动图形界面管理工具，其内容为：</span></p>
<p><span>cd data</span></p>
<p><span>@java -classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager</span></p>
<p><span>&nbsp;</span></p>
<p><span>4．<span>&nbsp; </span></span><span style="font-family: 宋体">保存</span><span>runManager.bat</span><span style="font-family: 宋体">文件，并双击文件，此时回弹出图形界面（注意，在进行这一不之前，必须确保第二步已执行），如下图。</span></p>
<div><img src="http://hiphotos.baidu.com/qiaoruigang/pic/item/5cd95843fbf2b211f3f61e04ca8065380ed78e85.jpg"  alt="" /></div>&nbsp; 
<p><span>Recent</span><span style="font-family: 宋体">：将会列出最近的数据库配置</span></p>
<p><span>Setting Name: </span><span style="font-family: 宋体">设置名称，这里不需要填写</span></p>
<p><span>Type</span><span style="font-family: 宋体">：选择服务器模式（</span><span>HSQL Database Engine Server</span><span style="font-family: 宋体">）</span></p>
<p><span>Driver</span><span style="font-family: 宋体">：驱动名称，不需要修改</span></p>
<p><span>URL</span><span style="font-family: 宋体">：</span><span>JDBC</span><span style="font-family: 宋体">连接，无需修改</span></p>
<p><span>User</span><span style="font-family: 宋体">：用户名</span><span>,</span><span style="font-family: 宋体">根据需要设置</span></p>
<p><span>Password</span><span style="font-family: 宋体">：密码，根据需要设置</span></p>
<p><span>&nbsp;</span></p>
<p><span>5．<span>&nbsp; </span></span><span style="font-family: 宋体">点击【</span><span>OK</span><span style="font-family: 宋体">】按钮，即可连接到</span><span>test</span><span style="font-family: 宋体">数据库。如下图所示。</span></p>
<div><img src="http://hiphotos.baidu.com/qiaoruigang/pic/item/63cfb2389b504fc254b92b4fe5dde71192ef6df3.jpg"  alt="" /></div>&nbsp; 
<p><span style="font-family: 宋体">此时，我们可以在窗口中创建表等操作，例如，我们创建一个</span><span>TBL_USERS</span><span style="font-family: 宋体">的表。在菜单栏中选择【</span><span>COMMAND</span><span style="font-family: 宋体">】</span><span>-&gt;</span><span style="font-family: 宋体">【</span><span>CREATE TABLE</span><span style="font-family: 宋体">】命令，此时在右下文本框中显示创建表的命令，包括各式，支持的类型等。我们创建的</span><span>TBL_USERS</span><span style="font-family: 宋体">表结构如下图所示：</span></p>
<div><img src="http://hiphotos.baidu.com/qiaoruigang/pic/item/f5d990504fc2d56207ee4ba7e71190ef74c66cf3.jpg"  alt="" /></div>&nbsp; 
<p><span>6．<span>&nbsp; </span></span><span style="font-family: 宋体">点击【</span><span>Execute</span><span style="font-family: 宋体">】按钮，如果无语法错误，</span><span>SQL</span><span style="font-family: 宋体">语句将正常执行，此时，选择菜单栏中的【</span><span>View</span><span style="font-family: 宋体">】</span><span>-&gt;</span><span style="font-family: 宋体">【</span><span>Refresh Tree</span><span style="font-family: 宋体">】命令，左侧栏中将显示创建的</span><span>TBL_USERS</span><span style="font-family: 宋体">。如下图所示。并且查看</span><span>test.log</span><span style="font-family: 宋体">文件，创建表的过程都将全部记录。</span></p>
<div><img src="http://hiphotos.baidu.com/qiaoruigang/pic/item/d7b144c2d56285356606496b90ef76c6a5ef63f3.jpg"  alt="" /></div>&nbsp; 
<p><span>7．<span>&nbsp; </span></span><span style="font-family: 宋体">另外还可以用</span><span>DatabaseManagerSwing</span><span style="font-family: 宋体">工具启动图形界面。创建</span><span>runManagerSwing.bat</span><span style="font-family: 宋体">文件，内容为：</span></p>
<p><span>cd data</span></p>
<p><span>@java -classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManagerSwing</span></p>
<p><span style="font-family: 宋体">保存文件，双击该文件，将启动</span><span>Swing</span><span style="font-family: 宋体">图形界面，如下图所示，具体的操作过程和</span><span>DatabaseManager</span><span style="font-family: 宋体">工具类似，不再重复。</span></p>
<div><img src="http://hiphotos.baidu.com/qiaoruigang/pic/item/b713b9119313b07ea865cb420cd7912395dd8c85.jpg"  alt="" /></div>&nbsp; 
<p><span>&nbsp;</span></p>
<p><span style="font-family: 宋体">以上就是启动</span><span>hsqldb</span><span style="font-family: 宋体">数据库和创建表的整个过程，其它的功能可以通过多次联系即可掌握。按照以上操作方式，</span><span>hsqldb</span><span style="font-family: 宋体">将自动产生一个</span><span>test</span><span style="font-family: 宋体">的数据库。但是有时候我们需要自己指定数据库，数据库访问名，数据库访问端口等，该如何实现呢，很简单。只要在相对根目录下创建一个</span><span>server.properties</span><span style="font-family: 宋体">文件即可。</span></p>
<p><span style="font-family: 宋体">创建自己制定的数据库：</span></p>
<p><span>1.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">首先在</span><span>E:\hsqldbTest</span><span style="font-family: 宋体">目录下创建一个</span><span>server.properties</span><span style="font-family: 宋体">文件，文件内容为（注：在实际文件中，删除后面的注释内容）：</span></p>
<p><span>server.port=9001<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#</span><span>指定端口号为</span><span>9001</span></p>
<p><span>server.database.0=file:data/mydb<span>&nbsp; </span># </span><span>将在</span><span>data</span><span>目录下创建</span><span>mydb</span><span>数据库</span><span></span></p>
<p><span>server.dbname.=mydb<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#</span><span>指定数据库名，</span><span>jdbc</span><span>连接时就是用此名称</span><span></span></p>
<p><span>server.silent=true</span></p>
<p><span>2.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">在</span><span>E:\hsqldbTest</span><span style="font-family: 宋体">目录下创建</span><span>runServer2.bat</span><span style="font-family: 宋体">文件，文件内容为</span></p>
<p><span>@java -classpath lib/hsqldb.jar org.hsqldb.Server</span></p>
<p><span>3.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">双击运行</span><span>runServer2.bat</span><span style="font-family: 宋体">文件，将会在</span><span>data</span><span style="font-family: 宋体">目录下创建</span><span>mydb</span><span style="font-family: 宋体">数据库，并启动数据库。</span></p>
<p><span>4.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">双击运行已创建好的</span><span>runManagerSwing.bat</span><span style="font-family: 宋体">文件，打开图形管理界面，并设置连接到</span><span>mydb</span><span style="font-family: 宋体">数据库中，如下图所示：</span></p>
<div><img src="http://hiphotos.baidu.com/qiaoruigang/pic/item/fef09813b07eca8006dda2ad912397dda3448385.jpg"  alt="" /></div>&nbsp; 
<p><span>5.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">配置好选项，点击【</span><span>OK</span><span style="font-family: 宋体">】按钮，即可连接到</span><span>mydb</span><span style="font-family: 宋体">数据库，在窗口中可以按照以前的步骤创建表，添加记录等操作。</span></p>
<p><span>&nbsp;</span></p>
<p><span>&nbsp;</span></p>
<p><span style="font-family: 宋体">好了，以上就是整个</span><span>hsqldb</span><span style="font-family: 宋体">的安装、启动、创建表等的全过程，在这里特别说明的是，</span><span>hsqldb.1.8.1.3</span><span style="font-family: 宋体">是用</span><span>JDK.1.5</span><span style="font-family: 宋体">以上的版本的编译的，所以，如果你使用的是低于</span><span>jdk1.5</span><span style="font-family: 宋体">的版本时，可能出现异常情况，不能正常使用。另外，即使你安装的</span><span>jdk</span><span style="font-family: 宋体">版本是</span><span>1.5</span><span style="font-family: 宋体">以上的，可能还会出现异常，该如何办呢，此时，确保你的</span><span>hsqldb</span><span style="font-family: 宋体">是在官方网站下载的，需要检查你的</span><span>java</span><span style="font-family: 宋体">的环境变量，由于你的机器可能安装有</span><span>oracle</span><span style="font-family: 宋体">，很有可能出现问题，此时只需将</span><span>%JAVA_HOME%\bin</span><span style="font-family: 宋体">路径放置在</span><span>path</span><span style="font-family: 宋体">路径的最开头，这样，就不会出现异常情况了。</span></p>
<p><span>&nbsp;</span></p>
<p><span style="font-family: 宋体">接下来，我们通过一个具体的</span><span>java</span><span style="font-family: 宋体">程序来连接建立好的</span><span>mydb</span><span style="font-family: 宋体">数据库，并且在</span><span>mydb</span><span style="font-family: 宋体">数据库中创建一个</span><span>TBL_USERS</span><span style="font-family: 宋体">的表。并插入一条记录。</span></p>
<p><span>1.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">在</span><span>E:\hsqldbTest</span><span style="font-family: 宋体">目录下创建一个</span><span>HsqlDemo.java</span><span style="font-family: 宋体">文件，内容如下：</span><span></span></p>
<p><span>import java.sql.Connection;</span></p>
<p><span>import java.sql.DriverManager;</span></p>
<p><span>import java.sql.Statement;</span></p>
<p><span>import org.hsqldb.jdbcDriver;</span></p>
<p><span>&nbsp;</span></p>
<p><span>public class HsqlDemo {</span></p>
<p><span>&nbsp;&nbsp;&nbsp; </span>public static void main(String[] args) {</p>
<p><span>&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>try {</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Class.forName("org.hsqldb.jdbcDriver");</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:9001/mydb", "sa", "");</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (c != null) {</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>System.out.println("Connected db success!");</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String sql = "CREATE TABLE TBL_USERS(ID INTEGER, NAME VARCHAR, BIRTHDAY DATE);";</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Statement st = c.createStatement();</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>st.execute(sql);</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sql = "INSERT INTO TBL_USERS(ID, NAME, BIRTHDAY) VALUES ('1', 'ADMIN', SYSDATE);";</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>st.executeUpdate(sql);</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (st != null) {</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>st.close();</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>c.close();</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} catch(Exception e) {</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>System.out.println("ERROR:failed to load HSQLDB JDBC driver.");</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>e.printStackTrace();</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return;</p>
<p><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</p>
<p><span>&nbsp;&nbsp;&nbsp; </span>}<span>&nbsp;&nbsp;&nbsp; </span></p>
<p><span>}</span></p>
<p><span>&nbsp;</span></p>
<p><span>2.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">在</span><span>E:\hsqldbTest</span><span style="font-family: 宋体">目录下建立一个</span><span>runJava.bat</span><span style="font-family: 宋体">文件，用来运行</span><span>HsqlDemo.java</span><span style="font-family: 宋体">。内容如下：</span></p>
<p><span>@echo off</span></p>
<p><span>set path=D:\Program Files\Java\jdk1.6.0_05\bin<span>&nbsp;&nbsp;&nbsp;&nbsp; </span># jdk</span><span style="font-family: 宋体">的路径</span></p>
<p><span>javac -classpath lib/hsqldb.jar HsqlDemo.java</span></p>
<p><span>java -cp lib/hsqldb.jar;./ HsqlDemo<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># </span><span style="font-family: 宋体">注意</span><span>./ </span><span style="font-family: 宋体">后面的空格，</span><span>./[</span><span style="font-family: 宋体">空格</span><span>] HsqlDemo</span></p>
<p><span>&nbsp;</span></p>
<p><span>3.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">确定</span><span>mydb</span><span style="font-family: 宋体">数据库已经启动，如果没有，运行</span><span>runServer2.bat</span><span style="font-family: 宋体">，启动数据库。</span></p>
<p><span>4.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体">运行</span><span>runJava.bat</span><span style="font-family: 宋体">文件，运行程序，如果无异常产生，说明已正确执行，此时，可以在</span><span>mydb.log</span><span style="font-family: 宋体">文件中看到创建的</span><span>TBL_USERS</span><span style="font-family: 宋体">，插入的记录，当然，可以用图形工具查看表。</span></p>
<p><span>&nbsp;</span></p>
<p><span>&nbsp;</span></p>
<p><span>OK</span><span style="font-family: 宋体">，以上就是所有的</span><span>hsqldb</span><span style="font-family: 宋体">启动过程和连接</span><span>jdbc</span><span style="font-family: 宋体">的过程。</span></p></div></td></tr></tbody></table></div></div><img src ="http://www.blogjava.net/liuyz2006/aggbug/372092.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuyz2006/" target="_blank">阿者</a> 2012-03-17 14:06 <a href="http://www.blogjava.net/liuyz2006/articles/372092.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Hsqldb安装与使用</title><link>http://www.blogjava.net/liuyz2006/articles/369985.html</link><dc:creator>阿者</dc:creator><author>阿者</author><pubDate>Tue, 14 Feb 2012 13:32:00 GMT</pubDate><guid>http://www.blogjava.net/liuyz2006/articles/369985.html</guid><description><![CDATA[&nbsp; HSQLDB<span style="font-family: 宋体">是一个轻量级的纯</span><span lang="EN-US">Java</span><span style="font-family: 宋体">开发的开放源代码的关系数据库系统，其体积小，占用空间小，使用简单，支持内存运行方式等特点。可以在</span><span lang="EN-US"><a href="http://sourceforge.net/projects/hsqldb/files/" rel="nofollow"><font color="#eb0000">http://sourceforge.net/projects/hsqldb/files/</font></a></span><span style="font-family: 宋体">下载最新的</span><span lang="EN-US">HSQLDB</span><span style="font-family: 宋体">版本。我这里下载的是</span><span lang="EN-US">HSQLDB 1.8.13</span><span style="font-family: 宋体">版本。下载完之后，把它解压到任一目录下，如</span><span lang="EN-US">E:\hsqldb</span><span style="font-family: 宋体">下，完成安装工作。</span> 
<p><span lang="EN-US">Hsqldb</span><span style="font-family: 宋体">有四种运行模式：</span></p>
<p style="text-indent: -20.25pt; margin-left: 20.25pt"><span lang="EN-US"><span>一、<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">内存（</span><span lang="EN-US">Memory-Only</span><span style="font-family: 宋体">）模式：所有的数据都将在内存中完成，如果程序退出，则相应的数据也将同时被销毁。连接</span><span lang="EN-US">JDBC</span><span style="font-family: 宋体">的实例为：</span><span lang="EN-US">jdbc:hsqldb:mem:dbname</span></p>
<p style="text-indent: -20.25pt; margin-left: 20.25pt"><span lang="EN-US"><span>二、<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">进行（</span><span lang="EN-US">In-Process</span><span style="font-family: 宋体">）模式：此模式从应用程序启动数据库，由于所有的数据都将写到文件中，所以，即使程序退出，数据也不会被销毁。</span><span lang="EN-US">In-Process</span><span style="font-family: 宋体">不需要另外启动，可以通过</span><span lang="EN-US">DriverManager.getConnection(jdbcUriName,&#8221;sa&#8221;,&#8221;&#8221;)</span><span style="font-family: 宋体">；方式即可启动数据库。连接</span><span lang="EN-US">JDBC</span><span style="font-family: 宋体">的实例为：</span></p>
<p style="text-indent: 21pt"><span lang="EN-US">jdbc:hsqldb:file:/E:/hsqldb/data/dbname</span></p>
<p style="text-indent: 21pt"><span lang="EN-US">jdbc:hsqldb:file:/opt/db/dbname</span></p>
<p style="text-indent: 21pt"><span lang="EN-US">jdbc:hsqldb:file:dbname</span></p>
<p style="text-indent: -20.25pt; margin-left: 20.25pt"><span lang="EN-US"><span>三、<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">服务器模式：此模式下</span><span lang="EN-US">HSQLDB</span><span style="font-family: 宋体">跟其它数据库服务器一样，需要通过服务器的形式来进行启动，可以通过</span><span lang="EN-US">java &#8211;cp ../lib/hsqldb.jar org.hsqldb.Server &#8211;database.0 testdb &#8211;dbname.0 testdbName</span><span style="font-family: 宋体">的命令启动一个守护进程。连接</span><span lang="EN-US">JDBC</span><span style="font-family: 宋体">的实例为：</span><span lang="EN-US">jdbc:hsqldb:hsql://localhost:&lt;port&gt;/dbname</span></p>
<p style="text-indent: -20.25pt; margin-left: 20.25pt"><span lang="EN-US"><span>四、<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span lang="EN-US">Web</span><span style="font-family: 宋体">服务器模式：此模式以</span><span lang="EN-US">WEB</span><span style="font-family: 宋体">服务器的形式启动，并通过</span><span lang="EN-US">HTTP</span><span style="font-family: 宋体">协议接受客户端命令。从</span><span lang="EN-US">1.7.2</span><span style="font-family: 宋体">版本开始，</span><span lang="EN-US">Web</span><span style="font-family: 宋体">服务器模式的</span><span lang="EN-US">HSQLDB</span><span style="font-family: 宋体">开始支持事务处理。可以通过</span><span lang="EN-US">java &#8211;cp ../lib/hsqldb.jar org.hsqldb.WebServer &#8211;database.0 testdb &#8211;dbname.0 testdbname</span><span style="font-family: 宋体">的命令来启动。</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span style="font-family: 宋体">重点讨论</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体">服务器模式的启动方法和连接和实际</span><span lang="EN-US">java</span><span style="font-family: 宋体">程序的</span><span lang="EN-US">JDBC</span><span style="font-family: 宋体">连接情况。假设</span><span lang="EN-US">JDK</span><span style="font-family: 宋体">已经安装到机器上，环境变量等都正确设置。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">首先在</span><span lang="EN-US">E:\hsqldbTest</span><span style="font-family: 宋体">目录下建立两个子目录，</span><span lang="EN-US">data</span><span style="font-family: 宋体">和</span><span lang="EN-US">lib</span><span style="font-family: 宋体">目录，</span><span lang="EN-US">data</span><span style="font-family: 宋体">用来存放数据，</span><span lang="EN-US">lib</span><span style="font-family: 宋体">用来管理</span><span lang="EN-US">jar</span><span style="font-family: 宋体">包。将解压之后的</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体">中的</span><span lang="EN-US">lib</span><span style="font-family: 宋体">目录下的</span><span lang="EN-US">hsqldb.jar</span><span style="font-family: 宋体">文件拷贝到</span><span lang="EN-US">E:\hsqldbTest\lib</span><span style="font-family: 宋体">目录下。</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>1．<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp; </span></span></span><span style="font-family: 宋体">在</span><span lang="EN-US">hsqldbTest</span><span style="font-family: 宋体">目录下创建</span><span lang="EN-US">runServer.bat</span><span style="font-family: 宋体">文件，其内容为：</span></p>
<p><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">cd data</span></p>
<p><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">@java -classpath ../lib/hsqldb.jar org.hsqldb.Server</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>2．<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp; </span></span></span><span style="font-family: 宋体">保存</span><span lang="EN-US">runServer.bat</span><span style="font-family: 宋体">文件，并双击运行该文件，此时回弹出命令行窗口，如下图，表示已启动</span><span lang="EN-US">HSQLDB</span><span style="font-family: 宋体">数据库。<img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/liuyz2006/a.jpg" width="667" height="429" /><br /></p>
<p><span style="font-family: 宋体">此时，在</span><span lang="EN-US">data</span><span style="font-family: 宋体">目录下产生了三个文件，如：</span></p>
<p><span lang="EN-US">test.lck </span><span style="font-family: 宋体">&#8212;&#8212;标识数据库锁状态。</span></p>
<p><span lang="EN-US">test.log </span><span style="font-family: 宋体">&#8212;&#8212;运行数据库产生的</span><span lang="EN-US">log</span><span style="font-family: 宋体">信息，它将记录每一个运行和用户操作环节。</span></p>
<p><span lang="EN-US">test.properties</span><span style="font-family: 宋体">&#8212;&#8212;数据库的配置信息，包括分配的内存大小等，可更具需要修改。</span></p>
<p><em><span style="font-family: 宋体">注：如果在命令行窗口中按下</span><span lang="EN-US">[Ctrl] + [C]</span></em><em><span style="font-family: 宋体">组合键，数据库将退出并关闭。</span><span lang="EN-US"></span></em></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>3．<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp; </span></span></span><span style="font-family: 宋体">再创建</span><span lang="EN-US">runManager.bat</span><span style="font-family: 宋体">文件，用来启动图形界面管理工具，其内容为：</span></p>
<p><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">cd data</span></p>
<p><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">@java -classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>4．<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp; </span></span></span><span style="font-family: 宋体">保存</span><span lang="EN-US">runManager.bat</span><span style="font-family: 宋体">文件，并双击文件，此时回弹出图形界面（注意，在进行这一不之前，必须确保第二步已执行），如下图。<br /><img style="margin: 0pt 10px 0pt 0pt" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" src="http://img612.ph.126.net/yon2DeestmmMG3qm0YYcHQ==/1978487611301069622.bmp" __1329225737312__="ev_7768138723" /><br /></p>
<p><span lang="EN-US">Recent</span><span style="font-family: 宋体">：将会列出最近的数据库配置</span></p>
<p><span lang="EN-US">Setting Name: </span><span style="font-family: 宋体">设置名称，这里不需要填写</span></p>
<p><span lang="EN-US">Type</span><span style="font-family: 宋体">：选择服务器模式（</span><span lang="EN-US">HSQL Database Engine Server</span><span style="font-family: 宋体">）</span></p>
<p><span lang="EN-US">Driver</span><span style="font-family: 宋体">：驱动名称，不需要修改</span></p>
<p><span lang="EN-US">URL</span><span style="font-family: 宋体">：</span><span lang="EN-US">JDBC</span><span style="font-family: 宋体">连接，无需修改</span></p>
<p><span lang="EN-US">User</span><span style="font-family: 宋体">：用户名</span><span lang="EN-US">,</span><span style="font-family: 宋体">根据需要设置</span></p>
<p><span lang="EN-US">Password</span><span style="font-family: 宋体">：密码，根据需要设置</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>5．<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp; </span></span></span><span style="font-family: 宋体">点击【</span><span lang="EN-US">OK</span><span style="font-family: 宋体">】按钮，即可连接到</span><span lang="EN-US">test</span><span style="font-family: 宋体">数据库。如下图所示。</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><img style="margin: 0pt 10px 0pt 0pt" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" src="http://img623.ph.126.net/S8VdoNFLQ5Nkohvr0D8uPQ==/1945836514002758566.bmp" __1329225737312__="ev_1768277265" /><br /></span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span style="font-family: 宋体">此时，我们可以在窗口中创建表等操作，例如，我们创建一个</span><span lang="EN-US">TBL_USERS</span><span style="font-family: 宋体">的表。在菜单栏中选择【</span><span lang="EN-US">COMMAND</span><span style="font-family: 宋体">】</span><span lang="EN-US">-&gt;</span><span style="font-family: 宋体">【</span><span lang="EN-US">CREATE TABLE</span><span style="font-family: 宋体">】命令，此时在右下文本框中显示创建表的命令，包括各式，支持的类型等。我们创建的</span><span lang="EN-US">TBL_USERS</span><span style="font-family: 宋体">表结构如下图所示</span><br /><img style="margin: 0pt 10px 0pt 0pt" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" src="http://img242.ph.126.net/UIhgI_q5CkoekzkbIq1DJQ==/2135832123282301438.bmp" __1329225737312__="ev_2781910691" /><br /></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>6．<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp; </span></span></span><span style="font-family: 宋体">点击【</span><span lang="EN-US">Execute</span><span style="font-family: 宋体">】按钮，如果无语法错误，</span><span lang="EN-US">SQL</span><span style="font-family: 宋体">语句将正常执行，此时，选择菜单栏中的【</span><span lang="EN-US">View</span><span style="font-family: 宋体">】</span><span lang="EN-US">-&gt;</span><span style="font-family: 宋体">【</span><span lang="EN-US">Refresh Tree</span><span style="font-family: 宋体">】命令，左侧栏中将显示创建的</span><span lang="EN-US">TBL_USERS</span><span style="font-family: 宋体">。如下图所示。并且查看</span><span lang="EN-US">test.log</span><span style="font-family: 宋体">文件，创建表的过程都将全部记录。</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"></p>
<p style="text-indent: -18pt; margin-left: 18pt"><img style="margin: 0pt 10px 0pt 0pt" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" src="http://img241.ph.126.net/06SaqfHnZefrHhN5wr5clg==/2204230542622898955.bmp" __1329225737312__="ev_7649217725" /><br /></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>7．<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp; </span></span></span><span style="font-family: 宋体">另外还可以用</span><span lang="EN-US">DatabaseManagerSwing</span><span style="font-family: 宋体">工具启动图形界面。创建</span><span lang="EN-US">runManagerSwing.bat</span><span style="font-family: 宋体">文件，内容为：</span></p>
<p style="margin-left: 18pt"><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">cd data</span></p>
<p style="text-indent: 15.75pt"><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">@java -classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManagerSwing</span></p>
<p style="margin-left: 18pt"><span style="font-family: 宋体">保存文件，双击该文件，将启动</span><span lang="EN-US">Swing</span><span style="font-family: 宋体">图形界面，如下图所示，具体的操作过程和</span><span lang="EN-US">DatabaseManager</span><span style="font-family: 宋体">工具类似，不再重复。</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><img style="margin: 0pt 10px 0pt 0pt" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" src="http://img615.ph.126.net/aNTFn4Rvvbn-kpHlBKb8DQ==/1936266364794535902.bmp" __1329225737312__="ev_7373969043" /><br /></p>
<p><span style="font-family: 宋体">以上就是启动</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体">数据库和创建表的整个过程，其它的功能可以通过多次联系即可掌握。按照以上操作方式，</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体">将自动产生一个</span><span lang="EN-US">test</span><span style="font-family: 宋体">的数据库。但是有时候我们需要自己指定数据库，数据库访问名，数据库访问端口等，该如何实现呢，很简单。只要在相对根目录下创建一个</span><span lang="EN-US">server.properties</span><span style="font-family: 宋体">文件即可。</span></p>
<p><span style="font-family: 宋体">创建自己制定的数据库：</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>1.<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">首先在</span><span lang="EN-US">E:\hsqldbTest</span><span style="font-family: 宋体">目录下创建一个</span><span lang="EN-US">server.properties</span><span style="font-family: 宋体">文件，文件内容为（注：在实际文件中，删除后面的注释内容）：</span></p>
<p><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">server.port=9001<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#</span><span style="font-family: 宋体;background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous">指定端口号为</span><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">9001</span></p>
<p><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">server.database.0=file:data/mydb<span>&nbsp; </span># </span><span style="font-family: 宋体;background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous">将在</span><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">data</span><span style="font-family: 宋体;background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous">目录下创建</span><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">mydb</span><span style="font-family: 宋体;background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous">数据库</span><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US"></span></p>
<p><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">server.dbname.=mydb<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>#</span><span style="font-family: 宋体;background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous">指定数据库名，</span><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">jdbc</span><span style="font-family: 宋体;background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous">连接时就是用此名称</span><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US"></span></p>
<p><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">server.silent=true</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>2.<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">在</span><span lang="EN-US">E:\hsqldbTest</span><span style="font-family: 宋体">目录下创建</span><span lang="EN-US">runServer2.bat</span><span style="font-family: 宋体">文件，文件内容为</span></p>
<p><span style="background: silver; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous" lang="EN-US">@java -classpath lib/hsqldb.jar org.hsqldb.Server</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>3.<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">双击运行</span><span lang="EN-US">runServer2.bat</span><span style="font-family: 宋体">文件，将会在</span><span lang="EN-US">data</span><span style="font-family: 宋体">目录下创建</span><span lang="EN-US">mydb</span><span style="font-family: 宋体">数据库，并启动数据库。</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>4.<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">双击运行已创建好的</span><span lang="EN-US">runManagerSwing.bat</span><span style="font-family: 宋体">文件，打开图形管理界面，并设置连接到</span><span lang="EN-US">mydb</span><span style="font-family: 宋体">数据库中，如下图所示：</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><img style="margin: 0pt 10px 0pt 0pt" alt="Hsqldb安装与使用 - HappyFa - 冯永发的博客" src="http://img124.ph.126.net/1gI4skwTxB2cjjKUcQdScA==/1607785066972508755.bmp" __1329225737312__="ev_4316523019" /><br /></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>5.<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">配置好选项，点击【</span><span lang="EN-US">OK</span><span style="font-family: 宋体">】按钮，即可连接到</span><span lang="EN-US">mydb</span><span style="font-family: 宋体">数据库，在窗口中可以按照以前的步骤创建表，添加记录等操作。</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="text-indent: 18pt"><span style="font-family: 宋体">好了，以上就是整个</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体">的安装、启动、创建表等的全过程，在这里特别说明的是，</span><span lang="EN-US">hsqldb.1.8.1.3</span><span style="font-family: 宋体">是用</span><span lang="EN-US">JDK.1.5</span><span style="font-family: 宋体">以上的版本的编译的，所以，如果你使用的是低于</span><span lang="EN-US">jdk1.5</span><span style="font-family: 宋体">的版本时，可能出现异常情况，不能正常使用。另外，即使你安装的</span><span lang="EN-US">jdk</span><span style="font-family: 宋体">版本是</span><span lang="EN-US">1.5</span><span style="font-family: 宋体">以上的，可能还会出现异常，该如何办呢，此时，确保你的</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体">是在官方网站下载的，需要检查你的</span><span lang="EN-US">java</span><span style="font-family: 宋体">的环境变量，由于你的机器可能安装有</span><span lang="EN-US">oracle</span><span style="font-family: 宋体">，很有可能出现问题，此时只需将</span><span lang="EN-US">%JAVA_HOME%\bin</span><span style="font-family: 宋体">路径放置在</span><span lang="EN-US">path</span><span style="font-family: 宋体">路径的最开头，这样，就不会出现异常情况了。</span></p>
<p style="text-indent: 18pt"><span lang="EN-US">&nbsp;</span></p>
<p style="text-indent: 18pt"><span style="font-family: 宋体">接下来，我们通过一个具体的</span><span lang="EN-US">java</span><span style="font-family: 宋体">程序来连接建立好的</span><span lang="EN-US">mydb</span><span style="font-family: 宋体">数据库，并且在</span><span lang="EN-US">mydb</span><span style="font-family: 宋体">数据库中创建一个</span><span lang="EN-US">TBL_USERS</span><span style="font-family: 宋体">的表。并插入一条记录。</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>1.<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">在</span><span lang="EN-US">E:\hsqldbTest</span><span style="font-family: 宋体">目录下创建一个</span><span lang="EN-US">HsqlDemo.java</span><span style="font-family: 宋体">文件，内容如下：</span><span lang="EN-US"> </span></p>
<p><span lang="EN-US">import java.sql.Connection;</span></p>
<p><span lang="EN-US">import java.sql.DriverManager;</span></p>
<p><span lang="EN-US">import java.sql.Statement;</span></p>
<p><span lang="EN-US">import org.hsqldb.jdbcDriver;</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US">public class HsqlDemo {</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span>public static void main(String[] args) {</span></p>
<p><span lang="EN-US"><span>&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>try {</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Class.forName("org.hsqldb.jdbcDriver");</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:9001/mydb", "sa", "");</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (c != null) {</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>System.out.println("Connected db success!");</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String sql = "CREATE TABLE TBL_USERS(ID INTEGER, NAME VARCHAR, BIRTHDAY DATE);";</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Statement st = c.createStatement();</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>st.execute(sql);</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>sql = "INSERT INTO TBL_USERS(ID, NAME, BIRTHDAY) VALUES ('1', 'ADMIN', SYSDATE);";</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>st.executeUpdate(sql);</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if (st != null) {</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>st.close();</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>c.close();</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>} catch(Exception e) {</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>System.out.println("ERROR:failed to load HSQLDB JDBC driver.");</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>e.printStackTrace();</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return;</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span></p>
<p><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp; </span>}<span>&nbsp;&nbsp;&nbsp; </span></span></p>
<p><span lang="EN-US">}</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>2.<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">在</span><span lang="EN-US">E:\hsqldbTest</span><span style="font-family: 宋体">目录下建立一个</span><span lang="EN-US">runJava.bat</span><span style="font-family: 宋体">文件，用来运行</span><span lang="EN-US">HsqlDemo.java</span><span style="font-family: 宋体">。内容如下：</span></p>
<p><span lang="EN-US">@echo off</span></p>
<p><span lang="EN-US">set path=D:\Program Files\Java\jdk1.6.0_05\bin<span>&nbsp;&nbsp;&nbsp;&nbsp; </span># jdk</span><span style="font-family: 宋体">的路径</span></p>
<p><span lang="EN-US">javac -classpath lib/hsqldb.jar HsqlDemo.java</span></p>
<p><span lang="EN-US">java -cp lib/hsqldb.jar;./ HsqlDemo<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span># </span><span style="font-family: 宋体">注意</span><span lang="EN-US">./ </span><span style="font-family: 宋体">后面的空格，</span><span lang="EN-US">./[</span><span style="font-family: 宋体">空格</span><span lang="EN-US">] HsqlDemo</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>3.<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">确定</span><span lang="EN-US">mydb</span><span style="font-family: 宋体">数据库已经启动，如果没有，运行</span><span lang="EN-US">runServer2.bat</span><span style="font-family: 宋体">，启动数据库。</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"><span lang="EN-US"><span>4.<span style="font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal; -x-system-font: none">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体">运行</span><span lang="EN-US">runJava.bat</span><span style="font-family: 宋体">文件，运行程序，如果无异常产生，说明已正确执行，此时，可以在</span><span lang="EN-US">mydb.log</span><span style="font-family: 宋体">文件中看到创建的</span><span lang="EN-US">TBL_USERS</span><span style="font-family: 宋体">，插入的记录，当然，可以用图形工具查看表。</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US">OK</span><span style="font-family: 宋体">，以上就是所有的</span><span lang="EN-US">hsqldb</span><span style="font-family: 宋体">启动过程和连接</span><span lang="EN-US">jdbc</span><span style="font-family: 宋体">的过程。</span></p>
<p style="text-indent: -18pt; margin-left: 18pt"></span></p> <img src ="http://www.blogjava.net/liuyz2006/aggbug/369985.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuyz2006/" target="_blank">阿者</a> 2012-02-14 21:32 <a href="http://www.blogjava.net/liuyz2006/articles/369985.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>