當前位置:首頁 » 操作系統 » h2資料庫使用

h2資料庫使用

發布時間: 2022-05-09 22:55:26

Ⅰ 什麼是H2資料庫

H2是Thomas Mueller提供的一個開源的、純java實現的關系資料庫。

H2是一個開源的嵌入式資料庫引擎,採用java語言編寫,不受平台的限制,同時H2提供了一個十分方便的web控制台用於操作和管理資料庫內容。H2還提供兼容模式,可以兼容一些主流的資料庫,因此採用H2作為開發期的資料庫非常方便。

H2最大的用途在於可以同應用程序打包在一起發布,這樣可以非常方便地存儲少量結構化數據。

它的另一個用途是用於單元測試。啟動速度快,而且可以關閉持久化功能,每一個用例執行完隨即還原到初始狀態。

H2的第三個用處是作為緩存,作為Nosql的一個補充。當某些場景下數據模型必須為關系型,可以拿它當Memcached使,作為後端MySQL/Oracle的一個緩沖層,緩存一些不經常變化但需要頻繁訪問的數據,比如字典表、許可權表。不過這樣系統架構就會比較復雜了。

(1)h2資料庫使用擴展閱讀:

H2資料庫運行方式:

1、內存模式

資料庫只在內存中運行,關閉連接後資料庫將被清空,適合測試環境,連接字元串:jdbc:h2:mem:DBName;DB_CLOSE_DELAY=-1,如果不指定DBName,則以私有方式啟動,只允許一個連接。

2、嵌入式

資料庫持久化存儲為單個文件。連接字元串:jdbc:h2:file:~/.h2/DBName;AUTO_SERVER=TRUE。~/.h2/DBName表示資料庫文件的存儲位置,如果第一次連接則會自動創建資料庫。

3、服務模式

H2支持三種服務模式:web server:此種運行方式支持使用瀏覽器訪問H2 Console。

CP server:支持客戶端/伺服器端的連接方式。

PG server:支持PostgreSQL客戶端。

Ⅱ H2資料庫集群,有兩個實例,一主一備,如果在啟動時啟動順序反了,會出現什麼後果謝謝大拿

關閉資料庫:
用oracl用戶執行srvctl命令
語法:srvctl stop database -d dbname [-o immediate]
作用:可以一次性關閉dbname的所有實例
[oracle@rac1 ~]$ srvctl stop database -d racdb -停止所有節點上的實例

Ⅲ h2創建資料庫語句

h2創建資料庫語句如下:
CREATE TABLE TEST AS SELECT * FROM CSVREAD('test.csv');//csv文件數據創建test表 CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR(255)) AS SELECT * FROM CSVREAD('test.csv');/創建test表,csv文件相應的列插入到test表相應的欄位

H2資料庫介紹
常用的開源資料庫:H2,Derby,HSQLDB,MySQL,PostgreSQL。其中H2,HSQLDB類似,十分適合作為嵌入式資料庫使用,其它的資料庫大部分都需要安裝獨立的客戶端和伺服器端。
H2的優勢:
1、h2採用純Java編寫,因此不受平台的限制。
2、h2隻有一個jar文件,十分適合作為嵌入式資料庫試用。
3、性能和功能的優勢
H2比HSQLDB的最大的優勢就是h2提供了一個十分方便的web控制台用於操作和管理資料庫內容,這點比起HSQLDB的swing和awt控制台實在好用多了。

Ⅳ 如何在H2資料庫中定義函數

h2創建資料庫語句如下:
CREATE TABLE TEST AS SELECT * FROM CSVREAD('test.csv');//csv文件數據創建test表 CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR(255)) AS SELECT * FROM CSVREAD('test.csv');/創建test表,csv文件相應的列插入到test表相應的欄位

H2資料庫介紹
常用的開源資料庫:H2,Derby,HSQLDB,MySQL,PostgreSQL。其中H2,HSQLDB類似,十分適合作為嵌入式資料庫使用,其它的資料庫大部分都需要安裝獨立的客戶端和伺服器端。

Ⅳ 用java 實現 h2資料庫和mysql資料庫實時數據同步

1、h2資料庫你寫一個類(例如:insert方法),mysql也寫一個my類(例如:insertmysql()),
當往h2資料庫執行插入的時候 new ().inser(sql);
new my().insertmysql(sql);

2、也可以直接到資料庫操作寫存儲過程和游標自動同步。
3、使用第三方插件。有很多這樣子的平台做企業數據一體化的

Ⅵ 怎麼遠程訪問H2資料庫的內存模式

簡單來說就是用jdbc:h2:mem:h2db來建立內存模式,並建表,
然後jdbc:h2:tcp://192.168.20.141:8082/mem:h2db來訪問上面的內存資料庫

package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.h2.tools.Server;

public class H2Demo {
private Server server;

private String port = "8082";
private static String sourceURL1 = "jdbc:h2:mem:h2db";
private static String sourceURL2 = "jdbc:h2:tcp://192.168.20.141:8082/mem:h2db";

private String user = "shorturl";
private String password = "123456";

public void startServer() {
try {
System.out.println("正在啟動h2...");
server = Server.createTcpServer(
new String[] { "-tcpPort", port }).start();
} catch (SQLException e) {
System.out.println("啟動h2出錯:" + e.toString());
// TODO Auto-generated catch block
e.printStackTrace();
throw new RuntimeException(e);
}
}

public void stopServer() {
if (server != null) {
System.out.println("正在關閉h2...");
server.stop();
System.out.println("關閉成功.");
}
}

public void useH2() {
try {
Class.forName("org.h2.Driver");
Connection conn = DriverManager.getConnection(sourceURL1,user, password);
Statement stat = conn.createStatement();
// insert data
stat.execute("CREATE MEMORY Table TEST(NAME VARCHAR)");
stat.execute("INSERT INTO TEST VALUES('Hello World')");
//stat.execute("delete mappedURL");

// use data
ResultSet result = stat.executeQuery("select name from test ");
int i = 1;
while (result.next()) {
System.out.println(i++ + ":" + result.getString("name"));
}
result.close();
stat.close();
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void useH2i() {
try {
Class.forName("org.h2.Driver");
//Connection conn = DriverManager.getConnection("jdbc:h2:" + dbDir+";AUTO_SERVER=TRUE;MVCC=TRUE",user, password);
Connection conn = DriverManager.getConnection(sourceURL2,user, password);
Statement stat = conn.createStatement();
// use data
ResultSet result = stat.executeQuery("select name from test");

Ⅶ 如何訪問gerrit的h2資料庫

訪問gerrit的h2資料庫步驟:
1、從 https://code.google.com/p/gerrit/downloads/list 頁面下載gerrit的war包到某個目錄
2、資料庫准備,懶得設置用了默認的H2 DB
3、創建gerrit2用戶,初始化
sudo adser gerrit2
sudo su gerrit2
java -jar gerrit.war init -d /home/gerrit2/site
一些互動式提問,默認或自定義,同樣懶得設置apache,認證用了 development_become_any_account 選項,反向代理沒有;
設置完成就自動啟動了~; 如果沒有啟動手動 ./site/bin/gerrit.sh start

4、創建標准 後台服務連接
sudo ln -snf `pwd`/site/bin/gerrit.sh /etc/init.d/gerrit.sh
sudo ln -snf ../init.d/gerrit.sh /etc/rc3.d/S110gerrit
sudo ln -snf ../init.d/gerrit.sh /etc/rc5.d/S110gerrit

5、登陸http://10.20.20.XX:9080,頁面右上角點擊become :
注冊用戶 fullname emailaddress name ssh公鑰(.ssh/id_rsa.pub)設置保存,
設置保存後,在客戶端驗證一下,命令及輸出如下:

[$name@$hostname ~]$ ssh -p 29418 [email protected]

**** Welcome to Gerrit Code Review ****

Hi $fullname, you have successfully connected over SSH.

Unfortunately, interactive shells are disabled.
To clone a hosted Git repository, use:

git clone ssh://$name@$hostName.$domainname:29418/REPOSITORY_NAME.git

Connection to 10.20.20.XX closed.

6、從gerrit伺服器,clone代碼工
git clone ssh://[email protected]:29418/$repoName.git
7、進入項目目錄cd $repoName 安裝hook; 鉤子的目的是在提交信息中自動創建 'Change-Id:' 標簽
scp -p -P 29418 [email protected]:hooks/commit-msg .git/hooks/
8、修改提交
9、push 到gerrit伺服器
git push origin HEAD:refs/for/$branchName
#直接git push會失敗,原因還不知道~~ ~~
10、push成功後web頁面All->open和My->changes標簽下面,就可以看到提交的修改了

11、web的review沒有approve選項,需要在project的accecss中增加相應許可權; 還有後面的verify許可權也是類似操作;

Ⅷ 如何將H2資料庫數據轉存到MYSQL資料庫中

這裡面有一些具體的問題,比如說是否只同步新增的數據,要同步的表是否只有少數幾個,要同步的表中是否有類似於自增欄位這種東西等等。

最簡單的情況下,只同步新增數據,只同步少數幾個表,並且表中都有自增ID,那你只需要php定時執行,參照網頁鏈接

然後每次定時執行時,讀mysql表中的最後一個id(這個id要跟你的h2的自增id一樣),然後根據這個到h2表中去讀出大於這個id的一個固定記錄數的記錄,比如一次讀5000或1萬條,然後批量插入mysql就行了

Ⅸ h2資料庫在linux伺服器怎麼使用

簡單來說就是用jdbc:h2:mem:h2db來建立內存模式,並建表, 然後jdbc:h2:tcp://192.168.20.141:8082/mem:h2db來訪問上面的內存資料庫 package test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; imp...

熱點內容
pod內部修改配置如何生效 發布:2024-10-08 20:25:33 瀏覽:234
重慶伺服器託管市場低價雲主機 發布:2024-10-08 20:23:39 瀏覽:361
運維接觸源碼 發布:2024-10-08 19:55:44 瀏覽:485
python怎麼輸出換行 發布:2024-10-08 19:42:19 瀏覽:416
dhcp伺服器源碼 發布:2024-10-08 19:42:07 瀏覽:737
Sql88 發布:2024-10-08 19:01:55 瀏覽:969
汽車參數配置怎麼看乾式離合 發布:2024-10-08 18:57:47 瀏覽:796
編譯器設計圖 發布:2024-10-08 18:53:36 瀏覽:189
x7買哪個配置的比較好 發布:2024-10-08 18:48:25 瀏覽:772
android區域網視頻 發布:2024-10-08 18:35:29 瀏覽:694