一种纯Java的数据库—JDataStore

原创 2005年04月24日 11:05:00
JDataStore是Borland公司推出的一个纯Java轻量级关系型数据库。相对于庞大的Oracle、SQL Server来说,JDataStore 要小得多,而且对系统的要求也要低,可是它的性能一点也不差。JDataStore的高性能包括如下一些特性:

1. 支持JDBC和DataExpress接口;

2. 零管理(Zero-Administration)嵌入式关系型数据库;

3. 支持事务性多用户存取;

4. 支持灾难恢复;

5. 能存储串行化的对象、表和其它的文件流;

6. 提供了一些能被可视化开发工具操作的Java Bean组件。

何时使用JDataStore


JDataStore是符合SQL-92的数据库,可直接在应用中嵌入,无需外部数据库引擎。通常,我们通过驱动或者DataExpress组件来存取数据库。JDataStore支持大多数的JDBC数据类型,包括Java对象。

JDataStore能够把应用中的对象和文件流串行为一个物理文件,以提高方便性和移动性。

JDataStore支持移动脱机应用。使用DataExpress JavaBean组件,JDataStore能异步地从数据源中复制和缓存数据,并把缓存中的数据更新反映到数据库中。

通常,我们使用两种方式来使用JDataStore,一种是JDataStore直接作为服务器来使用,另一种是作为嵌入式数据库使用。比如简单的桌面程序可以用JDataStore作为一个嵌入式的数据库来使用。客户端Java Application使用JDBC或DataExpress接口来存取位于本地的数据库文件。如在PDA的字典软件,小型的记录系统等。

如果是一个更复杂的系统,比如说要构造一个B/S结构的系统,要使用实体EJB来存取数据,我们希望把数据作为一个数据源部署在EJB容器上,这时候就可以将JDataStore部署在一台网络中的服务器上,作为应用服务器数据源使用。

如何配置JDataStore


分别就JDataStore两种使用方式来讲述JDataStore相应的配置。

直接作为服务器使用的配置

启动JDataStore Server(Windows上通常可执行文件名为JdsServerW.exe或JdsServer.exe,以W结尾的表示有图形界面),打开Options属性页如图1所示。


图1


1. 在JDataStore Server中设置端口号。在Options属性页中的Port文本框中填入想要使用的端口号。在Temp Directory中可以指定查询引擎所要使用的临时文件目录。在Status Log Directory中指定JDataStore Server的日志文件目录。

注意:这些都得在JDataStore Server Shut Down的状态下才能修改。

2. 如果是访问远程数据,则JDBC客户端应该按如下配置:

数据库驱动使用:com.borland. datastore.jdbc.DataStoreDriver。

连接数据库的URL:jdbc:borland:dsremote://<hostname>/<filename>。其中的filename为数据库文件所在机器的完整路径名,比如,我的数据库文件的filename是:“D:/JBuilder7/samples/JDataStore/datastores/employee.jds”。

客户端访问时,假设使用的端口号是9876,用户名为MyUserName,服务器名为mobile.mycompany .com,文件全名为c:/someApp/ecom.jds, 则数据库连接代码如下。

Class.forName( "com.borland. datastore.jdbc.DataStoreDriver" );
java.util.Properties info = new java.util.Properties();
info.setProperty( "user", "MyUserName" );
info.setProperty( "port", "9876" );
Connection con = DriverManager .getConnection
("jdbc:borland:dsremote://mobile.mycompany.com/c:/someApp/ecom.jds", info );


作为嵌入式数据库使用的配置

如果是访问本地数据,可以按如下配置:

1.数据库驱动使用:com.borland .datastore.jdbc.DataStoreDriver;

2.连接数据库的URL:jdbc:borland:dslocal:;

3. filename即本地文件的路径,注意文件路径间隔符只能为“/”,而不是“/”。

用JDataStore Explorer管理数据库


JDataStore数据库是用其提供的JDataStore Explorer来管理的。JDataStore Explorer的主要功能如下:

1. 检查JDataStore的内容;

2.无需编写代码,即能执行JData Store的大部分数据库操作。例如,创建新表、把文本文件转化成数据集、把文件作为文件流形式载入、删除表、文件、数据集等;

3.管理查询;

4.管理JDataStore的安全性,比如用户名、密码和加密。

JDataStore的基本操作

JDataStore的启动

有三种方式启动JdataStore:

1.从JBuilder的工具栏Tools| JDataStore Explorer执行菜单命令;

2.从JDataStore Server工具栏File|JDataStore Explorer执行菜单命令;

3.从命令行启动。

JDataStore Explorer启动后的界面如图2。

图2



创建JDataStore文件

大部分的JDataStore操作都需要一个JDataStore文件。创建新文件的步骤如下:

1.选择File|New或点击New JDataStore按钮。这时会打开一个对话框如图3;

2. 输入适当的文件名;

3. 选择JDataStore文件的版本,缺省为JDS5.0 ;

4. 选择文件块的大小;

5. 正确选择TxManager;

6.如果是非事务性(No Transact ional)的JDataStore,则无须选择TxManager Install;如果是事务性的JDataStore,一定要选择Install。这时可以通过点击Properties来设置属性。

点击OK,这个文件即被创建,同时被JDataStore Explorer打开。

打开JDataStore文件

1. 选择File|New菜单,这时会打开一个标准Java文件对话框;

2. 选择所需打开的文件点击OK;

3. 想以只读方式打开文件,可以选择View|Options,这时会弹出一对话框,如图4。



图4



4.选择“Open JDataStore in read-only mode”就可以了。

创建新表

1.选择File|Open,打开想创建新表的数据库文件;

2.选择Tools|Create Table菜单命令,弹出对话框如图5;



图5



3.在Table Name文本框中输入表名;

4.如果想将表国际化,可以为表指定一个地区字符集(Table Locale),否则可以让这个值为null;

5.在导航栏单击,增加一行记录;

6.在Column Name对应的区域内点击,输入列名;

7.为每一个列指定数据类型,可以选择或直接输入。每一列至少要指定一个列名和一个数据类型。还可以为列指定其它的属性;

8.继续创建新的列;

9.点击“OK”,完成表的创建。

创建索引

1.选择File|Open,打开想创建索引的数据库文件;

2.点击Tools|Create Index菜单命令,已打开创建索引对话框如图6;



图6



3.在Table Name下拉框中选择所需要增添索引的列名;

4.指定表的地区字符集(Locale),这将为JDataStore的排序提供字符集。如果创建表时没有指定地区字符集,则让它为空;

5.选中“Unique”,就是只可选出数据不同的行;

6.选中“Case sensitive”,就是对大小写敏感;

7.选中“Sort as inserted”,就是按插入顺序排序;

8.从“Selected column sort order”中选择升序或降序;

9.点击“OK”,完成索引建立。

JDataStore的安全性管理

管理用户

要管理用户,首先应选择Tools| Administer Users命令。如果此前还没有创建管理员,选择此命令时会弹出一个对话框,让输入用户名及密码,你输入的密码会自动地当作管理员用户而拥有所用的权力。

如果你以管理员登录,这时就会弹出一个如图7的对话框。通过管理员用户对话框可以增加用户、删除用户和编辑用户权限等。



图7



修改密码

用户要修改密码,首先必须登录。然后选择Tools|Change Password命令,修改密码。

数据库加密

要加密一个JDataStore文件,选择Tools|Encrypt JDataStore命令。JDataStore Explorer将会立刻加密文件。程序会弹出一个消息框指示加密成功或失败。如果加密成功,则系统会自动建立一个原文件的备份。

JDataStore示例



本文的例子介绍了怎样用JDBC来操作部署在服务器上的JDataStore,在JBuilder7.0下通过。要运行这个例子,需要创建一个安装了Tx Manager的JDataStore文件,具体代码下载浏览

JDataStore的发布



JDataStore的发布方式有两种:一种是包含JDataStore Server的发布,一种是作为嵌入式数据库使用的方式。

包含JDataStore Server发布的Server端需要发布Jdsserver.jar、Jds.jar和Dx.jar三个文件。如果需要以GUI方式发布,则还需要Dbswing.jar和Dbtools.jar两个文件。客户端需要发布Jdsremote.jar、Jds.jar和Dx.jar三个文件;作为嵌入式数据库使用,则只需要Jds.jar、Jdsremote.jar和Dx.jar。

结束语



有关JDataStore就写到这了。相信大家看完本篇文章后,已经可以使用JDataStore来进行数据库开发了。如果大家想深入研究其中的内容,可以上Borland公司的新闻组进行讨论,也可以参阅该公司网站上的文章。



图4



4.选择“Open JDataStore in read-only mode”就可以了。

创建新表

1.选择File|Open,打开想创建新表的数据库文件;

2.选择Tools|Create Table菜单命令,弹出对话框如图5;



图5



3.在Table Name文本框中输入表名;

4.如果想将表国际化,可以为表指定一个地区字符集(Table Locale),否则可以让这个值为null;

5.在导航栏单击,增加一行记录;

6.在Column Name对应的区域内点击,输入列名;

7.为每一个列指定数据类型,可以选择或直接输入。每一列至少要指定一个列名和一个数据类型。还可以为列指定其它的属性;

8.继续创建新的列;

9.点击“OK”,完成表的创建。

创建索引

1.选择File|Open,打开想创建索引的数据库文件;

2.点击Tools|Create Index菜单命令,已打开创建索引对话框如图6;



图6



3.在Table Name下拉框中选择所需要增添索引的列名;

4.指定表的地区字符集(Locale),这将为JDataStore的排序提供字符集。如果创建表时没有指定地区字符集,则让它为空;

5.选中“Unique”,就是只可选出数据不同的行;

6.选中“Case sensitive”,就是对大小写敏感;

7.选中“Sort as inserted”,就是按插入顺序排序;

8.从“Selected column sort order”中选择升序或降序;

9.点击“OK”,完成索引建立。

JDataStore的安全性管理

管理用户

要管理用户,首先应选择Tools| Administer Users命令。如果此前还没有创建管理员,选择此命令时会弹出一个对话框,让输入用户名及密码,你输入的密码会自动地当作管理员用户而拥有所用的权力。

如果你以管理员登录,这时就会弹出一个如图7的对话框。通过管理员用户对话框可以增加用户、删除用户和编辑用户权限等。



图7



修改密码

用户要修改密码,首先必须登录。然后选择Tools|Change Password命令,修改密码。

数据库加密

要加密一个JDataStore文件,选择Tools|Encrypt JDataStore命令。JDataStore Explorer将会立刻加密文件。程序会弹出一个消息框指示加密成功或失败。如果加密成功,则系统会自动建立一个原文件的备份。

JDataStore示例



本文的例子介绍了怎样用JDBC来操作部署在服务器上的JDataStore,在JBuilder7.0下通过。要运行这个例子,需要创建一个安装了Tx Manager的JDataStore文件,具体代码下载浏览

JDataStore的发布



JDataStore的发布方式有两种:一种是包含JDataStore Server的发布,一种是作为嵌入式数据库使用的方式。

包含JDataStore Server发布的Server端需要发布Jdsserver.jar、Jds.jar和Dx.jar三个文件。如果需要以GUI方式发布,则还需要Dbswing.jar和Dbtools.jar两个文件。客户端需要发布Jdsremote.jar、Jds.jar和Dx.jar三个文件;作为嵌入式数据库使用,则只需要Jds.jar、Jdsremote.jar和Dx.jar。

结束语



有关JDataStore就写到这了。相信大家看完本篇文章后,已经可以使用JDataStore来进行数据库开发了。如果大家想深入研究其中的内容,可以上Borland公司的新闻组进行讨论,也可以参阅该公司网站上的文章。

纯Java的嵌入式本地数据库h2db

需要把一段代码移植到libgdx中。代码中使用了sqlite数据库,不想改代码,想找个免安装的纯JAVA本地数据库来代替。试了smallsql、tinysql、hsqldb、h2db。最终还是h2db...
  • wulong710
  • wulong710
  • 2017年03月16日 14:19
  • 1616

一种纯Java的数据库—JDataStore

作者:谭志强    本文选自:开放系统世界——赛迪网  2002年09月25日http://network.ccidnet.com/pub/disp/Article?columnID=295&arti...
  • yanwei
  • yanwei
  • 2004年09月17日 13:30
  • 449

一种纯Java的数据库—JDataStore

JDataStore是Borland公司推出的一个纯Java轻量级关系型数据库。相对于庞大的Oracle、SQL Server来说,JDataStore 要小得多,而且对系统的要求也要低,可是它的性能...
  • chensheng913
  • chensheng913
  • 2004年09月03日 20:17
  • 7926

Java学习篇之--用纯Java的JDBC驱动程序实现与数据库连接

用纯Java的JDBC驱动程序实现与数据库连接 最近在研究JAVA中数据库的连接,将知识整理一下分享给大家: Java程序可以用纯Java的JDBC驱动程序实现与数据库连接。这种方法应用较广泛,但是需...
  • A_little_e
  • A_little_e
  • 2015年02月02日 17:53
  • 2535

Java到底是不是一种纯面向对象语言

Java——是否确实的 “纯面向对象”?让我们深入到Java的世界,试图来证实它。 在我刚开始学习 Java 的前面几年,我从书本里知道了 Java 是遵循 “面向对象编程范式(Object O...
  • ting4
  • ting4
  • 2017年05月26日 14:30
  • 515

Java和C++谁是更纯的面向对象的语言

Java和c++这两个语言在面向对象方面,谁更纯方面,人们的认识是一致的。大家都知道,c++是一个混合、型的语言,而Java是一个纯面向对象的语言。c++是一个面向过程与面向对象的混合型语言。但是Ja...
  • qq_24930285
  • qq_24930285
  • 2014年12月31日 18:17
  • 329

Java 获得纯数字格式的时间

public class C37 { public static void main(String[] args) { SimpleDateFormat sdf=new Si...
  • bsmmaoshenbo
  • bsmmaoshenbo
  • 2015年08月13日 14:56
  • 1647

学习JDK内置纯JAVA数据库Derby

JDK内置纯JAVA数据库Derby从学习JAVA到现在好多年了,不过中间有很长一段时间没怎么用JAVA和相关技术了,都不清楚原来JDK本身内置了Derby数据库。Derby数据库特点1.纯JAVA编...
  • tavor
  • tavor
  • 2016年07月03日 01:59
  • 5109

函數副作用-纯函数

函数副作用   在计算器科学中,函数副作用指当调用函数时,除了返回函数值之外,还对主调用函数产生附加的影响。例如修改全局变量(函数外的变量)或修改参数。 函数副作用会给程序设计带来不必要的麻...
  • crazyhacking
  • crazyhacking
  • 2012年12月07日 21:39
  • 2055

Spring 纯java配置 让spring mvc 生效的 web.xml 配置

  • xiuye2015
  • xiuye2015
  • 2016年11月14日 21:56
  • 928
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一种纯Java的数据库—JDataStore
举报原因:
原因补充:

(最多只允许输入30个字)