訪問Hsql .data資料庫檔案
一、Hsql簡介:
hsql資料庫是一款純Java編寫的免費資料庫,許可是BSD-style的協議。 僅一個hsqldb.jar檔案就包括了資料庫引擎,資料庫驅動,還有其他使用者介面操作等內容。下載地址:https://sourceforge.net/projects/hsqldb/files/hsqldb/。 其中hsqldb-2.4.x 開頭的需要jdk8及以上,低於這個版本的比如hsqldb-2.2.9 jdk7可以用。
二、Hsql檔案結構:
資料庫會包含如下檔案:
• finedb.properties
• finedb.script
• finedb.log
• finedb.data
• finedb.backup
finedb.properties 檔案包含關於資料庫的一般設定。
finedb.script 檔案包含表和其它資料庫,插入沒有快取表的資料。
finedb.log 檔案包含當前資料庫的變更。
finedb.data 檔案包含快取表的資料。
finedb.backup 檔案是最近持久化狀態的表的資料檔案的壓縮備份檔案
如果資料庫沒有快取表,finedb.data finedb.backup檔案將不會存在,資料也可能存在finedb.script檔案中
。
三、訪問過程:
1.把下載的jar包..\hsqldb-2.2.9\hsqldb\lib\hsqldb.jar放到hsql目錄下
2.把jar包新增到classpath環境變數中
3.建立data目錄把需要訪問的檔案放到此目錄。 也可以自己建立新的資料庫檔案,在命令列進入data資料夾輸入命令:
D:\hsqldb\data>java org.hsqldb.Server -database finedb
4. 建立system.properties檔案,dbname和port是隨便指定的, finedb的名字是要與需要訪問的資料檔名字保持一致 。
5.開啟命令視窗,進入當前資料夾輸入服務端命令:java org.hsqldb.Server。提示成功資料庫說明已經成功啟動並連到.data檔案了,如果提示sql有問題可以去finedb.script中修改指令碼。
6.開啟另外一個命令視窗,進入當前資料夾輸入客戶端命令:java org.hsqldb.util.DatabaseManagerSwing會彈出視窗
7.setting name隨便寫,URL中輸入jdbc:hsqldb:hsql://localhost:8001/fineReportdb就可以成功連上db了。
四、用程式碼訪問Hsql資料庫:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class ConnetcHsqlDb { public static void main(String[] args) { String url = "jdbc:hsqldb:hsql://localhost:8001/fineReportdb"; String user = "SA"; String password = ""; try { Class.forName("org.hsqldb.jdbcDriver"); Connection conn = DriverManager.getConnection(url, user, password); Statement state = conn.createStatement(); ResultSet rs = state.executeQuery("SELECT FIRSTNAME,LASTNAME FROM customer"); while (rs.next()) { System.out.print(rs.getString("FIRSTNAME") + " "); System.out.print(rs.getString("LASTNAME") + " "); System.out.println(""); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } }