H2 database
作成されていないDBにアクセスできない
h2 1.4.200, windows
問題
Database "mem:dbname" not found, either pre-create it or allow remote database creation (not recommended in secure environments) というエラーが表示される
タスクトレイアイコンをクリック https://gyazo.com/52604a4308e5bd338ac187a935da99cc
https://gyazo.com/9a324a7827a5856e3be9f54e0ba7e694 データベース作成画面から作成する
例 dbnameというin-memoryデータベースを作りたい場合は Database path を mem:dbname にする 解決策2
code:myh2.bat
@start javaw -cp "h2-1.4.200.jar;%H2DRIVERS%;%CLASSPATH%" org.h2.tools.Server -web -ifNotExists -webAdminPassword webadminpass
@if errorlevel 1 pause
ifNotExists オプションを付けて起動する.
H2データベースの接続URL
H2データベースの起動オプション
h2 1.4.199, linux
$ java -cp lib/h2-1.4.199.jar org.h2.tools.Server -web -ifNotExists -webAdminPassword xxxxx
h2-1.4.199で存在しないデータベースにアクセスしたときに新しいデータベースが作られないという問題が発生した.
ifNotExists があると,存在しないデータベースにアクセスしたときに自動でデータベースが作られる.
webAdminPassword がないと管理者ツールにアクセスできないようになった.起動オプションに渡すのはうまくいかなかった..h2.server.propertiesに webAdminPassword=9999 のように書けば良い. 2020-06-04 -webAdminPasswordオプションが動いたなぜだ? 起動オプションの一覧
code:txt
java -cp lib/h2-1.4.199.jar org.h2.tools.Server -?
Starts the H2 Console (web-) server, TCP, and PG server.
Usage: java org.h2.tools.Server <options>
When running without options, -tcp, -web, -browser and -pg are started.
Options are case sensitive. Supported options are:
-help or -? Print the list of options -web Start the web server with the H2 Console -webSSL Use encrypted (HTTPS) connections -browser Start a browser connecting to the web server -tcp Start the TCP server -tcpSSL Use encrypted (SSL) connections -ifExists Only existing databases may be opened (all servers) -trace Print additional trace information (all servers) The options -xAllowOthers are potentially risky.
For details, see Advanced Topics / Protection against Remote Access.