• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    H2內存數據庫支持存儲到文件

    來源:懂視網 責編:小采 時間:2020-11-09 14:59:59
    文檔

    H2內存數據庫支持存儲到文件

    H2內存數據庫支持存儲到文件:準備工作 1、下載JDK(本人下載的版本為JDK1.7)、設置環境變量JAVA_HOME,設置PATH(%JAVA_HOME%\bin%)。 2、下載并解壓:h2-2014-07-13.zip 官網下載地址:http://www.h2database.com/html/main.html 3、設置環境變量H2_HO
    推薦度:
    導讀H2內存數據庫支持存儲到文件:準備工作 1、下載JDK(本人下載的版本為JDK1.7)、設置環境變量JAVA_HOME,設置PATH(%JAVA_HOME%\bin%)。 2、下載并解壓:h2-2014-07-13.zip 官網下載地址:http://www.h2database.com/html/main.html 3、設置環境變量H2_HO


    控制臺打印出:1,Hi
    \

    server模式

    1、直接將jdbc url 改為:jdbc:h2:tcp://localhost/~/test 就行了。因為我們在上面第一步的時候已經在C:\Users\Administrator創建了test數據庫。
    你也可以再創建新的數據庫,默認都是保存在C:\Users\Administrator下的。
    注意:你必須啟動服務:%H2_HOME%\bin\h2.bat 或者 以服務模式啟動:%H2_HOME%\service\0_run_server_debug.bat ,里面有好幾個腳本把H2部署為服務模式。每次機器啟動后自動啟動H2服務。
    2、新建 TestServerH2類 主要代碼

    public static void main(String[] a)
    throws Exception {
    Class.forName("org.h2.Driver");
    Connection conn = DriverManager.
    getConnection("jdbc:h2:tcp://localhost/~/test", "sa", "");
    // add application code here
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery("SELECT * FROM TEST ");
    while(rs.next()) {
    System.out.println(rs.getInt("ID")+","+rs.getString("NAME"));
    }
    conn.close();
    }

    運行的結果和上面一樣。

    內存模式(數據只保存在內存中)

    1、新建 TestMemH2類 主要代碼

    public static void main(String[] a)
    throws Exception {
    Class.forName("org.h2.Driver");
    Connection conn = DriverManager.
    getConnection("jdbc:h2:tcp://localhost/mem:test2", "sa", "");
    // add application code here
    Statement stmt = conn.createStatement();

    stmt.executeUpdate("CREATE TABLE TEST_MEM(ID INT PRIMARY KEY,NAME VARCHAR(255));");
    stmt.executeUpdate("INSERT INTO TEST_MEM VALUES(1, 'Hello_Mem');");
    ResultSet rs = stmt.executeQuery("SELECT * FROM TEST_MEM");
    while(rs.next()) {
    System.out.println(rs.getInt("ID")+","+rs.getString("NAME"));
    }
    conn.close();
    }

    控制臺打印出:1,Hello_Mem

    \

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    集群 / 高可用性

    數據庫支持簡單的集群/高可用性機制。架構是:兩個數據庫服務運行在兩臺不同的計算機上,兩臺計算機有同樣數據庫的副本,如果兩個服務器都處于運行狀態,每個數據庫操作都被在兩臺計算機上執行,如果一臺服務器宕機(斷電、硬件故障、網絡故障等),另外一臺計算機仍能提供服務,從這一刻開始,數據庫操作僅在一臺服務器上執行,直到另外一臺服務器恢復運行。

    集群僅能用于服務器模式(內嵌模式并不支持集群)。可以在數據庫運行狀態下恢復集群,但是要求在第二個數據庫恢復期間沒有應用在改變第一個數據庫的數據,因此恢復集群是一個手工的過程。

    初始化集群,使用下面的步驟:

    · 創建數據庫

    · 使用CreateCluster工具創建一個數據庫福分到另外的地方,并且初始化集群,這樣就得到了同樣數據的兩個數據庫

    · 啟動兩個數據庫服務(每個數據庫的副本)

    · 現在可以通過應用客戶端連接到數據庫

    使用創建集群工具

    要了解集群如何工作,請嘗試下面的例子,在這個例子里,兩個數據庫駐留在同一臺計算機上,但通常,兩個數據庫在不同的計算機上。

    · 創建兩個目錄:server1,server2。每個目錄將模擬一臺計算機

    · 在第一個目錄啟動TCP服務,你可以運行下面的命令:

    · java org.h2.tools.Server

    · -tcp-tcpPort 9101

    · -baseDirserver1

    · 在第二個目錄啟動TCP服務,模擬第二個服務器(冗余運行),你能使用下面的命令:

    · java org.h2.tools.Server

    · -tcp-tcpPort 9102

    · -baseDirserver2

    · 使用 CreateCluster 工具初始化集群,如果數據庫不存在,將創建一個新的空數據庫,運行下面命令行:

    · java org.h2.tools.CreateCluster

    · -urlSourcejdbc:h2:tcp://localhost:9101/~/test

    · -urlTargetjdbc:h2:tcp://localhost:9102/~/test

    · -user sa

    · -serverList localhost:9101,localhost:9102

    · 應用或者是H2控制臺可以通過下面的JDBC的URL連接數據庫:jdbc:h2:tcp://localhost:9101,localhost:9102/~/test

    · 如果你停止一個服務(通過殺進程),你注意到另一個機器繼續工作,數據庫仍能提供訪問。

    · 恢復集群,你需要先刪掉宕機的數據庫,然后重啟宕機的數據庫的服務,再重新運行CreateCluster集群工具。

    檢測運行狀態下的集群

    查找哪些節點當前正在運行,通過執行下面的SQL語句:

    SELECT VALUE FROM INFORMATION_SCHEMA.SETTINGS WHERENAME='CLUSTER'

    結果返回為 '' (兩個單引號),說明集群模式被屏蔽,否則,集群服務器列表將被單引號包括著返回,如'server1:9191,server2:9191'。

    2、上面的 URL 改為 jdbc:h2:~/mem:test 也是可以的。如果是localhost必須啟動服務。

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    數據庫連接 URL說明

    數據庫支持多種連接模式和連接設置,不同的連接模式和連接設置是通過不同的URL來區分的,URL中的設置是不區分大小寫。

    Topic

    URL Format and Examples

    嵌入式(本地)連接

    jdbc:h2:[file:][]
    jdbc:h2:~/test
    jdbc:h2:file:/data/sample
    jdbc:h2:file:C:/data/sample (Windows only)

    內存數據庫(私有)

    jdbc:h2:mem:

    內存數據庫(被命名)

    jdbc:h2:mem:
    jdbc:h2:mem:test_mem

    使用TCP/IP的服務器模式(遠程連接)

    jdbc:h2:tcp://[:]/[]
    jdbc:h2:tcp://localhost/~/test
    jdbc:h2:tcp://dbserv:8084/~/sample

    使用SSL/TLS的服務器模式(遠程連接)

    jdbc:h2:ssl://[:]/
    jdbc:h2:ssl://secureserv:8085/~/sample;

    使用加密文件

    jdbc:h2:;CIPHER=[AES|XTEA]
    jdbc:h2:ssl://secureserv/~/testdb;CIPHER=AES
    jdbc:h2:file:~/secure;CIPHER=XTEA

    文件鎖

    jdbc:h2:;FILE_LOCK={NO|FILE|SOCKET}
    jdbc:h2:file:~/quickAndDirty;FILE_LOCK=NO
    jdbc:h2:file:~/private;CIPHER=XTEA;FILE_LOCK=SOCKET

    僅打開存在的數據庫

    jdbc:h2:;IFEXISTS=TRUE
    jdbc:h2:file:~/sample;IFEXISTS=TRUE

    當虛擬機退出時并不關閉數據庫

    jdbc:h2:;DB_CLOSE_ON_EXIT=FALSE

    用戶名和密碼

    jdbc:h2:[;USER=][;PASSWORD=]
    jdbc:h2:file:~/sample;USER=sa;PASSWORD=123

    更新記入索引

    jdbc:h2:;LOG=2
    jdbc:h2:file:~/sample;LOG=2

    調試跟蹤項設置

    jdbc:h2:;TRACE_LEVEL_FILE=
    jdbc:h2:file:~/sample;TRACE_LEVEL_FILE=3

    忽略位置參數設置

    jdbc:h2:;IGNORE_UNKNOWN_SETTINGS=TRUE

    指定文件讀寫模式

    jdbc:h2:;ACCESS_MODE_LOG=rws;ACCESS_MODE_DATA=rws

    在Zip文件中的數據庫

    jdbc:h2:zip:!/
    jdbc:h2:zip:~/db.zip!/test

    兼容模式

    jdbc:h2:;MODE=
    jdbc:h2:~/test;MODE=MYSQL

    自動重連接

    jdbc:h2:;AUTO_RECONNECT=TRUE
    jdbc:h2:tcp://localhost/~/test;AUTO_RECONNECT=TRUE

    自動混合模式

    jdbc:h2:;AUTO_SERVER=TRUE
    jdbc:h2:~/test;AUTO_SERVER=TRUE

    更改其他設置

    jdbc:h2:;=[;=...]
    jdbc:h2:file:~/sample;TRACE_LEVEL_SYSTEM_OUT=3

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    H2內存數據庫支持存儲到文件

    H2內存數據庫支持存儲到文件:準備工作 1、下載JDK(本人下載的版本為JDK1.7)、設置環境變量JAVA_HOME,設置PATH(%JAVA_HOME%\bin%)。 2、下載并解壓:h2-2014-07-13.zip 官網下載地址:http://www.h2database.com/html/main.html 3、設置環境變量H2_HO
    推薦度:
    標簽: 內存 下載 文件
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 久久精品无码一区二区三区日韩 | 2020亚洲男人天堂精品| 精品久久久久久无码中文字幕| 国产成人精品优优av| 亚洲а∨天堂久久精品| 中文字幕精品亚洲无线码二区| 亚洲午夜福利精品无码| Xx性欧美肥妇精品久久久久久 | 99久久婷婷免费国产综合精品| 99re6这里有精品热视频| 亚洲精品无码激情AV| 国内精品国语自产拍在线观看| 久久精品嫩草影院| 国产精品视频全国免费观看| 国产日韩精品在线| 国产精品白丝AV网站| 色妞ww精品视频7777| 亚洲中文字幕无码久久精品1| 久久精品国产第一区二区| 成人精品一区二区三区在线观看| 国产亚洲福利精品一区| 99re6在线视频精品免费| 久久精品国产亚洲av水果派| 麻豆精品久久精品色综合| 国产精品人成在线播放新网站| 无码国内精品人妻少妇蜜桃视频| 亚洲&#228;v永久无码精品天堂久久 | 囯产精品一区二区三区线| 久久久国产精品福利免费| 国产精品1区2区3区在线播放| 2020久久精品国产免费| 国产夫妇精品自在线| 国产亚洲综合成人91精品| 99热成人精品热久久669| 97在线精品视频| 欧美国产日韩精品| 欧洲精品视频在线观看| 欧美日激情日韩精品| 亚洲精品动漫免费二区| 欧美精品黑人粗大| 欧美精品免费专区在线观看|