問題タブ [h2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - H2 コンソール - ブラウザ経由でデータベースを見ると古いデータが表示される
単純な Web アプリケーションにH2 データベースを使用しています。
H2 コンソールの Web ブラウザーを介してデータを表示しようとすると、データベース内の最新のデータで更新されないようです。
例えば:
Web アプリを使用してテーブルに新しいレコードを追加しselect *
ましたが、レコードを追加したテーブルから を実行すると、新しいレコードが表示されません。
ブラウザ経由で H2 コンソールに接続するときのログインには、次の設定があります。
保存された設定: Generic H2 (埋め込み)
設定名: Generic H2 (埋め込み)
ドライバー クラス: org.h2.Driver
JDBC URL: jdbc:h2:file:/Develops/Databases/snowy_db;FILE_LOCK=NO
H2 コンソール ブラウザを使用してデータベースから最新のデータにアクセスする方法について何かアイデアはありますか?
前もって感謝します。
編集
追加するだけ: Web アプリで新しいレコードを表示できますが、H2 コンソール ブラウザーを使用すると表示されません。
java - h2データベースのビューに挿入
編集:テーブルを直接ではなく、そのテーブル(viewPaziente)のビューで動作するテーブル(paziente)に値を追加したい。
edit2:コードに愚かな間違いが見つかりました。エラーが発生しますが、役に立ちません。
org.h2.jdbc.JdbcSQLException:サポートされていない機能: "VIEW"; SQLステートメント:INSERT INTO "viewPaziente" values(?、?、?、?、?、?、?、?、?、?、?、?、?)[50100-147]
テーブルのビューに行を挿入することは可能ですか?
つまり...多くのフィールドを持つテーブル「paziente」があり、Pazienteのビューを作成し、ビューを介してpazienteに行を追加したいと思います。H2でこれを行うことは可能ですか?
私は次のコードを使用しています
embedded-database - メモリモードのH2データベースにコンソールからアクセスできません
サーブレットコンテキストの起動時に次のコードを使用して、H2データベースにインメモリデータベースを作成しています
後でjdbc:h2:mem:db1
同じJVMのURLでアクセスしますが、これも機能しています。しかし、アクセスしたい場合jdbc:h2:tcp://localhost/mem:db1
は、同じJVMでも別のJVMでも機能しません。
実際にシステムを組み込みモードで実行し、コンソールを使用して内容を確認したいと思います。同じサーブレットコンテキストの起動方法でWebサーバーを起動すると、コンソールが表示されますが、URLを使用してメモリ内のDBに接続できませんjdbc:h2:tcp://localhost/mem:db1
。
コマンドラインを使用してサーバーを起動した場合
そして、接続してみてください。驚くべきことに、接続されていますが、データはありません。独自のサーバーと別のデータベースを作成しているようです。したがって、データはありません。
hsqldb - H2 自動混合モードに相当する HSQLDB
ありますか?どうやらそうではありません。ここでは、H2 自動混合モードについて説明 します。
java - CSVファイルのいくつかのフィールドからh2データベースを作成する方法
CSVファイルから新しい埋め込みh2データベースを作成したいと思います。これがcsvファイルのスニペットです
国、都市、アクセント都市、地域、人口、緯度、経度
ad、aixovall、Aixovall、06、、42.4666667,1.4833333
ad、andorra、Andorra、07、、42.5,1.5166667
ad、andorra la vella、Andorra la Vella、07,20430,42.5,1.5166667
ad、andorra-vieille、Andorra-Vieille、07、、42.5,1.5166667
ad、andorre、Andorre、07、、42.5,1.5166667
csvファイルのすべてのフィールドを取得したくありません。実際、CityフィールドとRegionフィールドを除くすべてが必要です。
さらに、 POPULATIONのコンテンツが空でない場合にのみ、csvファイルのコンテンツをデータベースに挿入したいと思います。
したがって、上記のcsvの例では、「population」フィールドが示されているため、h2テーブルWORLDCITIESに3番目の行のみを挿入する必要があります。
これが私が書いたコードの抜粋です。しかし、ご覧のとおり、まだ十分ではありません。
そして、私が正しく理解していれば、CSVREADはVARCHARタイプを使用してフィールドを作成しますが、次のようなものが必要です。
COUNTRY VARCHAR(3)、ACCENTCITY VARCHAR(40)、POPULATION FLOAT、LATITUDE FLOAT、LONGITUDE FLOAT
助けてくれてありがとう。
database - H2でのクエリの結果にフィールドの非表示文字を表示するにはどうすればよいですか?
h2データベースにvarcharフィールドがあり、の各文字(改行やキャリッジリターンなどの特殊文字を含む)を表示できるようにしたいと考えています。
基本的に、 Oracleのdump()に相当するh2を知る必要があります。
sql - EntityManager (JPA + SPRING + H2) の作成中に INFORMATION_SCHEMA does not exist エラーが発生する
JPA (OpenJPA) + Spring (Spring Web MVC を使用した Web Flow) + H2 データベース エンジンに問題があります。シンプルな Web アプリケーション用にシンプルな RegisterDAO を用意しました。依存性注入を使用して、(@PersistentUnit アノテーションによって) EntityManagerFactory を RegisterDAO に注入しています。すべて問題ないように見えますが (EntityManagerFactory は null ではなく、注入されているようです)、このファクトリから EntityManager を作成しようとすると問題が発生します。GlassFish(私が使用しています)は、次のような例外をスローします(メッセージはポーランド語であるため、元の状態で印刷できません:)):
H2 コンソールを使用して「SELECT SEQUENCE_SCHEMA, SEQUENCE_NAME FROM INFORMATION_SCHEMA.SEQUENCES」と入力すると、すべて問題ないため、これは奇妙です (INFORMATION_SCHEMA という名前のテーブルのセットが表示されます)。もちろん、この sql ステートメントをログイン ユーザー名と呼び、persistence.xml ファイルで使用しています。
何か案は?
編集:私の設定:persistence.xml:
春のapplicationCotext.xml:
ウェブ構成:
私は私の依存関係であるMavenを使用しています:
java - H2にインメモリデータベースにスキーマを自動作成させることはできますか?
(私はすでにインメモリのH2データベースを見てきました-Spring / Hibernateの質問によるInitスキーマ。ここでは適用されません。)
H2に、接続時にスキーマを自動作成できる設定があるかどうかを知りたいのですが。それが役に立ったら、私はメモリ内の場合にのみ興味があります。
H2は、URLの末尾でさまざまなセミコロン区切りの修飾子をサポートしていますが、スキーマを自動的に作成するための修飾子が見つかりませんでした。そのような機能はありますか?
java - ORMLite データベースの基本的な質問
ORMLIte Web サイトにリストされている例について 2 つの質問があります。
- データベースをどこに置き、どのようにインポートするのですか?
- DAO と接続ファクトリはどのクラスに配置すればよいですか?
java - ORMLite でクエリを準備する SQL 例外
私は ORM (ORMlite) を使用していますが、次のエラーが発生するまで、すべての呼び出しがうまくいきます。
スレッド "main" org.h2.jdbc.JdbcSQLException での例外: SQL ステートメントの構文エラー " SELECT * FROM ""STORIES"" WHERE ""TITLE"" = 'Deepcut case lead 'NOT FOLLOWED[*]'' "; SQL ステートメント: SELECT * FROM
Stories
WHEREtitle
= 'Deepcut ケース リード 'フォローされていない'' [42000-152] org.h2.message.DbException.getJdbcSQLException(DbException.java:327) でorg.h2.message.DbException.get(DbException.java:144) で org.h2.message.DbException.getSyntaxError(DbException.java:179) で org.h2.command.Parser.getSyntaxError(Parser.java:480) org.h2.command.Parser.prepareCommand(Parser.java:229) で org.h2.engine.Session.prepareLocal(Session.java:426) で org.h2.engine.Session.prepareCommand(Session.java:374) ) org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1093) で org.h2.jdbc.JdbcPreparedStatement.(JdbcPreparedStatement.java:71) で org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:601) com.j256.ormlite.jdbc.JdbcDatabaseConnection.compileStatement(JdbcDatabaseConnection.java:83) で com.j256.ormlite.stmt.mapped.MappedPreparedStmt.compile(MappedPreparedStmt.java:44) で com.j256.ormlite .stmt.StatementExecutor.buildIterator(StatementExecutor.java:169) com.j256.ormlite.stmt.StatementExecutor.query(StatementExecutor.java:119) com.j256.ormlite.dao.BaseDaoImpl.query(BaseDaoImpl.java:189) )119) com.j256.ormlite.dao.BaseDaoImpl.query (BaseDaoImpl.java:189) で119) com.j256.ormlite.dao.BaseDaoImpl.query (BaseDaoImpl.java:189) で
何がうまくいかないのか混乱しています。これらの行から検索を呼び出しています。