当柳上原的风吹向天际的时候...

真正的快乐来源于创造

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
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(4primary 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();
    }
  }
}



posted on 2009-10-18 07:50 何杨 阅读(1314) 评论(0)  编辑  收藏