OOo的也可以利用Base这个现成的数据库来管理自己的资料,因为它同样支持JDBC连接。所以开始我们的OOo Base JDBC之旅吧。
一、当然是确保安装了OOo了,如果没有的话,可以自己下载自行安装
详情见:http://forum.ubuntu.org.cn/viewtopic.php?t=76127 或者到官方网站www.openoffice.org
二、下载驱动程序 hsqldb
下载地址:http://sourceforge.net/project/showfiles.php?group_id=23316
三、把下载好的驱动程序解压,找到hsqldb/lib下面的hsqldb.jar拷贝到JAVA_HOME/jre/lib/ext,比如我的就是:/opt/jdk1.6.0_02/jre/lib/ext
四、新建数据库了
打开OOo中的Base数据库,根据向导建立一个数据库,然后建立一个自己的表person.里面有两项内容name、sex.如图:
五,编程连接数据库
(http://digiassn.blogspot.com/2006/07/java-creating-jdbc-connection-to.html)
Thanks!
import org.hsqldb.jdbcDriver;
import java.sql.*;
import java.util.zip.*;
import java.io.*;
import java.util.*;
public class OooData
...{
public static void main(String[] args) ...{
try ...{
Class.forName("org.hsqldb.jdbcDriver");
}
catch(Exception x) ...{
System.out.println("Unable to load the driver class!");
}
Connection con = null; //Database objects
Statement com = null;
ResultSet rec = null;
ZipFile file = null; //For handling zip files
ZipEntry ent = null;
Enumeration en = null; //For the entries in the zip file
BufferedOutputStream out = null; //For the output from the zip class
InputStream in = null; //for reading buffers from the zip file
File f = null; //Used to get a temporary file name, not actually used for anything
int len; //General length counter for loops
List v = new ArrayList(); //Stores list of unzipped file for deletion at end of program
//Unzip zip file, via info from
//http://www.devx.com/getHelpOn/10MinuteSolution/20447
try ...{
//Open the zip file that holds the OO.Org Base file
file = new ZipFile("/home/liceven/Data.odb");
//Create a generic temp file. I only need to get the filename from
//the tempfile to prefix the extracted files for OO Base
f = File.createTempFile("ooTempDatabase", "tmp");
f.deleteOnExit();
//Get file entries from the zipfile and loop through all of them
en = file.entries();
while (en.hasMoreElements()) ...{
//Get the current element
ent = (ZipEntry)en.nextElement();
//If the file is in the database directory, extract it to our
//temp folder using the temp filename above as a prefix
if (ent.getName().startsWith("database/")) ...{
System.out.println("Extracting File: " + ent.getName());
byte[] buffer = new byte[1024];
//Create an input stream file the file entry
in = file.getInputStream(ent);
//Create a output stream to write out the entry to, using the
//temp filename created above
out = new BufferedOutputStream(new FileOutputStream("/tmp/" + f.getName() + "." + ent.getName().substring(9)));
//Add the newly created temp file to the tempfile vector for deleting
//later on
v.add("/tmp/" + f.getName() + "." + ent.getName().substring(9));
//Read the input file into the buffer, then write out to
//the output file
while((len = in.read(buffer)) >= 0)
out.write(buffer, 0, len);
//close both the input stream and the output stream
out.close();
in.close();
}
}
//Close the zip file since the temp files have been created
file.close();
//Create our JDBC connection based on the temp filename used above
try ...{
con = DriverManager.getConnection("jdbc:hsqldb:file:/tmp/" + f.getName(), "SA", "");
}
catch (SQLException x) ...{
System.out.println("Couldn't get connection!");
}
//Create a command object and execute, storing the results in the rec object
com = con.createStatement();
rec = com.executeQuery("select * from "person"");
//GO through the resultset, and output the results
while (rec.next())
System.out.println(" Name: " + rec.getString("name") + " sex: " + rec.getString("sex"));
//Close all the database objects
rec.close();
com.close();
con.close();
//Delete the temporary files, which file names are stored in the v vector
for (len = 0; len < v.size(); len++)
(new File((String)v.get(len))).delete();
}
catch (Exception e) ...{
e.printStackTrace();
}
}
}
分享到:
相关推荐
5. Base:作为数据库管理工具,Base可连接到各种数据库(如ODBC或JDBC),创建表单、报表和查询,对于数据管理和小型数据库应用非常实用。 6. Math:专门用于创建数学公式和符号,方便教育或科学领域中的写作。 在...
5. Base:作为数据库管理工具,Base可以帮助用户创建、修改和管理数据库,同时还能连接到现有的ODBC或JDBC数据源。 6. Math:这是一个公式编辑器,可以插入和编辑复杂的数学公式,非常适合教育和科研领域使用。 ...
- **数据库管理**:Base模块则帮助用户管理数据库,支持ODBC和JDBC连接,可以创建和操作表单、查询和报表。 2. **Windows安装步骤** - 解压"Apache_OpenOffice_4.1.5_Win_x86_install_zh-CN.exe"文件,通常会自动...
使用H2时,用户可以通过多种方式连接到数据库,包括使用浏览器连接到服务器,以及配置连接字符串以使用JDBC(Java Database Connectivity)API连接。此外,H2支持在Java应用中以嵌入模式或服务器模式运行,并可通过...
6. **数据库管理(Base)**:Base组件允许用户设计和管理数据库,包括连接到现有的ODBC或JDBC数据源。它可以创建表单、查询和报表,适合小型企业或个人的数据库需求。 7. **多语言支持**:Apache OpenOffice支持...
5. **Base**:数据库管理程序,允许用户管理数据,支持ODBC和JDBC连接,可以与多种数据库系统集成。 6. **Math**:公式编辑器,用于插入和编辑复杂的数学公式。 Apache OpenOffice的一大优势是其兼容性,它能读取...
- **使用OpenOffice Base**:在OpenOffice Base中使用H2数据库。 - **Java Web Start/JNLP**:通过Java Web Start/JNLP部署H2控制台。 - **使用连接池**:介绍如何在H2中使用连接池。 - **全文搜索**:H2支持的全文...
最后,Base 是数据库管理工具,可以连接到各种数据库源,包括ODBC和JDBC,创建数据库驱动的应用程序,如表单、报告和查询,适合小型企业和个人进行数据管理。 Apache OpenOffice 4.1.6 版本还特别强调了PDF文件的...
5. **数据库连接**:了解如何连接到各种类型的数据库,如MySQL、PostgreSQL、Oracle等,以及如何使用ODBC(开放数据库连接)或JDBC(Java数据库连接)作为数据源。 6. **数据导入导出**:掌握如何在不同数据库系统...
此外,还涉及到其他数据库管理系统如OpenOffice Base的使用。 H2数据库还支持全文搜索功能,文档描述了如何使用原生全文搜索和Lucene全文搜索。 最后,文档提到了H2数据库的特色功能列表,包括主要特性、附加特性...
4. **OpenOffice 3.0**:这是OpenOffice.org的第三个主要版本,包含了Writer(文字处理)、Calc(电子表格)、Impress(演示文稿)、Draw(绘图)、Base(数据库)和Math(公式编辑)等组件。在Ubuntu上安装...
- **OpenOffice Base**:H2 数据库可以与 OpenOffice 的数据库组件集成。 #### 连接池 - H2 支持连接池技术,可以提高并发访问时的性能。 #### 全文搜索 - **原生全文搜索**:利用 H2 自带的全文索引功能实现文本...
为了能够利用这个数据库,你需要有支持mdb文件的软件,如Microsoft Access本身,或者可以读取Access数据库的其他工具,如OpenOffice Base、LibreOffice Base或编程语言中的数据库连接库(如Python的pyodbc或JDBC驱动...
4. 数据库管理:LibreOffice Base 可以连接到各种数据库,包括ODBC和JDBC,用户可以创建数据库应用、表单和报告。 5. 绘图:LibreOffice Draw 适合创建图形、流程图、海报等,也可以处理矢量图像,甚至可以导出为...
h2 内存数据库的文档,内容比较全。 内容包括: Starting and Using the...Using OpenOffice Base Java Web Start / JNLP Using a Connection Pool Fulltext Search User-Defined Variables Date and Time Using Spring
7.5 OpenOffice/StarOffice Base 7.6 OpenOffice/StarOffice的Data Source视图 第三部分 基础知识 第8章 数据库设计概论 8.1 参考读物 8.2 数据表类型 8.3 MySQL数据类型 8.4 数据库设计技巧 8.5 ...