㈠ 如何查看資料庫中的數據
資料庫一般查看數據的話有兩種:
1.
利用SQL的SELECT語句;
2.
通過圖形命令的查詢按鈕。
當然你將數據導出,當然也是可以的。導出,可以直接導出的目錄,還可以指定導出的文件類型。
㈡ h2資料庫遞歸查不來數據
h2資料庫遞歸查不來數據原因如下。
1、可能出現類型不匹配的問題:例如資料庫中存儲拆裂的是int類型的值嫌賀,前端傳遞過來的是string類型的值,所以查詢不到匹配的數據。
2、還有就是可能存在資料庫緩存的問題:這里資料庫的二級緩存,即是對數據的crud有影響,每次的crud之後,查詢的數據都是從資料庫的緩存中獲取的數據,不是從資料庫中獲取的最新的旅者閉數據。
㈢ 怎麼遠程訪問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");
㈣ h2資料庫中如何導出數據啊請知道朋友的不吝指教。
數據的導出:
² 導出到Access:
在導出數據之前,如果要導出的是剛才導入的表,請確認由導入的數據表中多餘的列要刪除!!!
(1)打開SQL Server管理平台,右擊伺服器圖標,從彈出的快捷菜單中選擇「所有任務→導出數據」選項,則會出現數據轉換服務導入和導出向導對話框,它顯示了導出向導所能完成的操作。
(2)單擊「下一步」按鈕,就會出現選擇導出數據的數據源對話框。這里在數據源欄中選擇「Microsoft OLE DB Provider for SQL Server」選項,然後選擇身份驗證模式以及資料庫的名稱。
(3)單擊「下一步」按鈕,則會出現選擇目的對話框。
(4)選定目標資料庫後,單擊「下一步」按鈕,則出現指定表復制或查詢對話框。
(5)單擊「下一步」按鈕,則出現選擇源表和視圖對話框。其中可以選定將源資料庫中的哪些表格或視圖復制到目標資料庫中,只需單擊表格名稱左邊的復選框,即可選定或者取消刪除復制該表格或視圖。單擊「編輯…」按鈕,就會出現列映射對話框。
(6)選定某個表格後,單擊「預覽」按鈕,就會出現查看數據對話框,在該對話框中可以預覽表格內的數據。單擊「下一步」按鈕,則會出現「保存並執行包」對話框。在該對話框中,可以設定立即執行還是保存包以備以後執行。
(7)單擊「下一步」按鈕,就會出現導出向導結束對話框。
㈤ H2資料庫
According to documentation, closing the last connection closes the database and when closing the database, the database is automatically compacted for up to 200 milliseconds
.
I guess these together may cause data loss & corruption when a
single connection is repeatedly created, data altered, connection
closed, new connection created, etc. - eventually resulting in
exception such as "Block not found in id [1, -128, 8, 42] [1.4.186/50]"
when trying to access the DB. Version 1.3.176 (last stable) works fine with this, version 1.4.186 crashes and corrupts data.
The
behavior can be fixed by appending ";DB_CLOSE_DELAY=-1" to the DB URL,
i.e. disabling autoclosing DB when last connection is closed. I though
it might have had something to do with 1.4's new "FS" file locking
protocol, but changing that to old "FILE" doesn't seem to help.
Of
course this is not how a DB connection is typically used - when using a
connection pool, this would go unnoticed - and I found this purely by
accident. But it's a bug anyway, isn't it?
Best Regards,
Joonas
狗哥找的
㈥ 什麼是H2資料庫
H2是Thomas Mueller提供的一個開源的、純java實現的關系資料庫。
H2是一個開源的嵌入式資料庫引擎,採用java語言編寫,不受平台的限制,同時H2提供了一個十分方便的web控制台用於操作和管理資料庫內容。H2還提供兼容模式,可以兼容一些主流的資料庫,因此採用H2作為開發期的資料庫非常方便。
H2最大的用途在於可以同應用程序打包在一起發布,這樣可以非常方便地存儲少量結構化數據。
它的另一個用途是用於單元測試。啟動速度快,而且可以關閉持久化功能,每一個用例執行完隨即還原到初始狀態。
H2的第三個用處是作為緩存,作為NoSQL的一個補充。當某些場景下數據模型必須為關系型,可以拿它當Memcached使,作為後端MySQL/Oracle的一個緩沖層,緩存一些不經常變化但需要頻繁訪問的數據,比如字典表、許可權表。不過這樣系統架構就會比較復雜了。
(6)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資料庫如何打開,查看裡面的表或者數據,
java -cp 路徑\h2-1.3.175.jar org.h2.tools.Shell
㈧ 如何查看資料庫
1.通過系統的「性能」來查看:
開始->管理工具->性能(或者是運行裡面輸入 mmc)然後通過
添加計數器添加 SQL 的常用統計(MSSQL General Statistics) 然後在下面列出的項目裡面選擇 用戶連接(User Connection) 就可以時時查詢到sql server資料庫連接數了。
2.通過系統表來查詢:
SELECT * FROM
[Master].[dbo].[SYSPROCESSES] WHERE [DBID]
IN
(
SELECT
[DBID]
FROM
[Master].[dbo].[SYSDATABASES]
WHERE
NAME=』databaseName』
)
databaseName 是需要查看的資料庫,然後查詢出來的行數,就是當前的sql server資料庫連接數。不過裡面還有一些別的狀態可以做參考用。
或者使用以下查詢語句:
select * from sysprocesses where dbid in (select dbid from sysdatabases where name=』MyDatabase』)
㈨ 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...