H2用のSQLスクリプトをインポートしようとしています。このスクリプトはspring-batchによって提供され、ジョブのメタデータを格納するために使用されます。ここでH2 SQL文法例外
org.hibernate.tool.hbm2ddl.ImportScriptException: Error during statement execution (file: 'org/springframework/batch/core/schema-h2.sql'): CREATE TABLE BATCH_JOB_INSTANCE (
....
Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "CREATE TABLE BATCH_JOB_INSTANCE ("; expected "identifier"; SQL statement:
CREATE TABLE BATCH_JOB_INSTANCE ([42001-171]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) ~[h2-1.3.171.jar:1.3.171]
at org.h2.message.DbException.get(DbException.java:169) ~[h2-1.3.171.jar:1.3.171]
at org.h2.message.DbException.getSyntaxError(DbException.java:194) ~[h2-1.3.171.jar:1.3.171]
がある:私はH2コンソールに直接このスクリプトを実行すると、私は構文エラーを持っていないが、私は初期化フェーズでインポートするにHibernate/JPAで同じスクリプトを参照し、私はこの例外を得ました
jpaProperties.setProperty("hibernate.connection.driver_class", "org.h2.Driver");
jpaProperties.setProperty("hibernate.dialect", H2Dialect.class.getName());
jpaProperties.setProperty("hibernate.hbm2ddl.auto", "create-drop");
jpaProperties.setProperty("hibernate.hbm2ddl.import_files",
"org/springframework/batch/core/schema-drop-h2.sql,org/springframework/batch/core/schema-h2.sql");
任意のアイデア私はこの問題を解決することができますどのように私は、SQLファイルをインポートするためにhbm2ddlを使用していますhttps://code.google.com/p/joshlong-examples/source/browse/trunk/batch/src/main/resources/sql/schema-h2.sql?r=2
:スクリプトは、私が実行しようとしていますか?
あなたの答えをありがとう。スクリプトをH2で直接実行すると問題はありません。しかし、私はファイルをインポートするために休止状態を使用しているとき、私はこのエラーがあります。 – Dimitri
これは休止状態の「問題」です。 – Ralph
デリミタはサーバ内ではないクライアントで処理されるため、エディタでは動作します(Hibernateでは動作しません)。したがって、各クライアントは異なる方法でそれを処理できます。 – Ralph