TimesTen是一种内存数据库,与其它内存数据库不同的是它依然使用SQL作为数据库存取的手段,估计是考虑到对Oracle数据库的兼顾和对象进出方式的不成熟。它既可以作为Oracle的前端缓存使用,也可以独立使用。下面是将它作为独立数据库并使用java程序对其进行访问的情况:
一.安装TimesTen数据库
到页面“
http://www.oracle.com/technology/global/cn/software/products/timesten/index.html”下载适合你的环境的安装程序,并进行安装。(注意需要注册一个账号)
二.设置TimesTen环境变量
在你机器上的[TimesTen的安装目录]\tt70_32\bin下找到ttenv。双击即可。如果要手工设置可以参见其帮助文档,这里略过。
三.建立一个TimesTen数据源
1.打开“控制面板”->“管理工具”->“数据源”
2.点击“系统DSN”选项卡,点击“添加”按钮。
3.找到“TimesTen Data Manager 7.0”一项,再点击“完成”按钮。
4.在“Data Source Name”一项中,填入数据源名;给 “Data Store Path”指定一个目录,给“Log Directory”指定另一个目录;指定“DataBase Character Set”为UTF-8;指定“Type Mode”为“1-TimesTen”,这是不依赖Oracle数据库的方式。具体设置请参考下图:
四.通过ttIsql建表
ttIsql是TimesTen的管理控制台,作用相当于MySql数据库的“MySQL Command Line Client”或Oracle数据库的“Sql Plus”,通过它我们可以连接到数据库并执行Sql语句。
在开始菜单中我们可以找到“ttIsql (Interactive SQL)”,点击即打开管理控制台窗口。
窗口打开后,我们可以输入命令“connect myTstDs”连接到刚才建立的数据源,之后可以输入如下语句建立一张表:
create table employee(
id CHAR(4) primary key not null ,
name VARCHAR(200)
)
五.通过程序在employee表中建立一条记录
通过程序访问一数据库的库我们需要找到种数据库的驱动包,访问TimesTen数据库的驱动包是ttjdbc14.jar,你可以在[TimesTenan安装目录]"tt70_32"lib下找到它。
以下是程序代码,它能打开TimesTen数据库,并向刚才创建的employee表中插入一条记录:
package com.heyang;
import java.sql.Connection;
import java.sql.PreparedStatement;
import com.timesten.jdbc.TimesTenDataSource;
/**
* 程序入口点
* @author 何杨(heyang78@gmail.com)
*
* @since 2009-10-17 下午07:17:11
* @version 1.00
*/
public class Main {
public static void main(String[] args) {
try {
Class.forName("com.timesten.jdbc.TimesTenDriver");
String url = "jdbc:timesten:direct:dsn=myTstDs";
TimesTenDataSource ds = new TimesTenDataSource();
ds.setUrl(url);
Connection conn = ds.getConnection();
conn.setAutoCommit(false);
String sql = "insert into employee ( id, name ) values ( ?, ?);";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "002");
pstmt.setString(2, "heyang@gmail.com");
pstmt.executeUpdate();
conn.commit();
conn.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}