java

位置:IT落伍者 >> java >> 浏览文章

一种纯Java的数据库—JDataStore


发布日期:2019年12月08日
 
一种纯Java的数据库—JDataStore

JDataStore是Borland公司推出的一个纯Java轻量级关系型数据库相对于庞大的OracleSQL Server来说JDataStore 要小得多而且对系统的要求也要低可是它的性能一点也不差JDataStore的高性能包括如下一些特性

支持JDBC和DataExpress接口

零管理(ZeroAdministration)嵌入式关系型数据库

支持事务性多用户存取

支持灾难恢复

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

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

何时使用JDataStore

JDataStore是符合SQL的数据库可直接在应用中嵌入无需外部数据库引擎通常我们通过驱动或者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上通常可执行文件名为JdsServerWexe或JdsServerexe以W结尾的表示有图形界面)打开Options属性页如图所示

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

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

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

数据库驱动使用comborland datastorejdbcDataStoreDriver

连接数据库的URLjdbc:borland:dsremote:///其中的filename为数据库文件所在机器的完整路径名比如我的数据库文件的filename是D:/JBuilder/samples/JDataStore/datastores/employeejds

客户端访问时假设使用的端口号是用户名为MyUserName服务器名为m文件全名为c:/someApp/ecomjds 则数据库连接代码如下

ClassforName( comborland datastorejdbcDataStoreDriver );

javautilProperties info = new javautilProperties();

infosetProperty( user MyUserName );

infosetProperty( port );

Connection con = DriverManager getConnection

(jdbc:borland:dsremote:///c:/someApp/ecomjds info );

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

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

数据库驱动使用comborland datastorejdbcDataStoreDriver

连接数据库的URLjdbc:borland:dslocal:

filename即本地文件的路径注意文件路径间隔符只能为/而不是\

用JDataStore Explorer管理数据库

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

检查JDataStore的内容;

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

管理查询;

管理JDataStore的安全性比如用户名密码和加密

JDataStore的基本操作

JDataStore的启动

有三种方式启动JdataStore

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

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

从命令行启动

JDataStore Explorer启动后的界面如图

创建JDataStore文件

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

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

输入适当的文件名

选择JDataStore文件的版本缺省为JDS

选择文件块的大小

正确选择TxManager

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

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

打开JDataStore文件

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

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

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

选择Open JDataStore in readonly mode就可以了

创建新表

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

选择Tools|Create Table菜单命令弹出对话框如图

在Table Name文本框中输入表名

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

在导航栏单击增加一行记录

在Column Name对应的区域内点击输入列名

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

继续创建新的列

点击OK完成表的创建

创建索引

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

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

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

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

选中Unique就是只可选出数据不同的行

选中Case sensitive就是对大小写敏感

选中Sort as inserted就是按插入顺序排序

Selected column sort order中选择升序或降序

点击OK完成索引建立

JDataStore的安全性管理

管理用户

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

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

修改密码

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

数据库加密

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

JDataStore示例

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

JDataStore的发布

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

包含JDataStore Server发布的Server端需要发布JdsserverjarJdsjar和Dxjar三个文件如果需要以GUI方式发布则还需要Dbswingjar和Dbtoolsjar两个文件客户端需要发布JdsremotejarJdsjar和Dxjar三个文件;作为嵌入式数据库使用则只需要JdsjarJdsremotejar和Dxjar

结束语

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

上一篇:Java 程序里的内存洩漏

下一篇:java中时间类Date和Calendar的使用