h2 databaseのjdbcでエラー

194 views
Skip to first unread message

Masanobu Shimura

unread,
Jun 5, 2016, 5:41:13 PM6/5/16
to dbf...@googlegroups.com
いつもお世話になっている志村です。

以前は問題なかったと思うのですが、jdbcタスクで
The schema was empty, which had no table. となってしまいます。

念の為に、lastaflute-example-harborをダウンロードして、実行しましたが、
同じエラーになってしまいました。

Windowsでやったので、MACでもやりましたが、同様でした。

対応方法がありましたらよろしくお願い致します。

志村

(input on your console)                                                                                 
What is your favorite task? (number):                                                                   
21                                                                                                      
/nnnnnnnnnnnnnnnnnnnnnnn                                                                                
...Calling the JDBC task                                                                                
nnnnnnnnnn/                                                                                             
Buildfile: ..\mydbflute\dbflute-1.x\build-torque.xml                                                    
                                                                                                        
jdbc:                                                                                                   
  [df-jdbc] 2016-06-06 06:25:44,100 INFO  - +------------------------------------------+                
  [df-jdbc] 2016-06-06 06:25:44,103 INFO  - |                                          |                
  [df-jdbc] 2016-06-06 06:25:44,103 INFO  - |                   JDBC                   |                
  [df-jdbc] 2016-06-06 06:25:44,104 INFO  - |                                          |                
  [df-jdbc] 2016-06-06 06:25:44,105 INFO  - +------------------------------------------+                
  [df-jdbc] 2016-06-06 06:25:44,124 INFO  - ...Preparing data source:                                   
  [df-jdbc] 2016-06-06 06:25:44,125 INFO  -   driver = org.h2.Driver                                    
  [df-jdbc] 2016-06-06 06:25:44,126 INFO  -   url    = jdbc:h2:file:../etc/testdb/maihamadb             
  [df-jdbc] 2016-06-06 06:25:44,127 INFO  -   user   = maihamadb                                        
  [df-jdbc] 2016-06-06 06:25:44,163 INFO  -                                                             
  [df-jdbc] 2016-06-06 06:25:44,163 INFO  - ...Starting to process JDBC to SchemaXML                    
  [df-jdbc] 2016-06-06 06:25:44,164 INFO  - ...Loading previous schema (schema diff process)            
  [df-jdbc] 2016-06-06 06:25:44,174 INFO  - ...Resolving XML by database.dtd in same package            
  [df-jdbc] 2016-06-06 06:25:44,265 INFO  - ...Getting DB connection                                    
  [df-jdbc] 2016-06-06 06:25:44,268 INFO  - ...Connecting to database by data source:                   
  [df-jdbc] 2016-06-06 06:25:44,438 INFO  -   product = H2 1.4.190 (2015-10-11)                         
  [df-jdbc] 2016-06-06 06:25:44,439 INFO  -   driver  = H2 JDBC Driver 1.4.190 (2015-10-11) for JDBC 4.0
                                                                                                        
  [df-jdbc] 2016-06-06 06:25:44,441 INFO  - ...Getting DB meta data                                     
  [df-jdbc] 2016-06-06 06:25:44,442 INFO  - ...Getting tables:                                          
  [df-jdbc] 2016-06-06 06:25:44,443 INFO  -   schema = {MAIHAMADB.PUBLIC as main}                       
  [df-jdbc] 2016-06-06 06:25:44,443 INFO  -   types  = [TABLE, VIEW]                                    
  [df-jdbc] 2016-06-06 06:25:44,483 INFO  -                                                             
  [df-jdbc] 2016-06-06 06:25:44,484 INFO  - $ /= = = = = = = = = = = = = = = = = = = = = = = = = =      
  [df-jdbc] 2016-06-06 06:25:44,485 INFO  - $ [Table List]                                              
  [df-jdbc] 2016-06-06 06:25:44,485 INFO  - $                                                           
  [df-jdbc] 2016-06-06 06:25:44,486 INFO  - $ [Table Count]                                             
  [df-jdbc] 2016-06-06 06:25:44,486 INFO  - $ 0                                                         
  [df-jdbc] 2016-06-06 06:25:44,486 INFO  - $ = = = = = = = = = =/                                      
  [df-jdbc] 2016-06-06 06:25:44,487 INFO  -                                                             
  [df-jdbc] 2016-06-06 06:25:44,489 ERROR - Look! Read the message below.                               
  [df-jdbc] /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *                        
  [df-jdbc] Failed to execute DBFlute Task 'JDBC'.                                                      
  [df-jdbc]                                                                                             
  [df-jdbc] [Advice]                                                                                    
  [df-jdbc] Check the exception messages and the stack traces.                                          
  [df-jdbc]                                                                                             
  [df-jdbc] [Database Product]                                                                          
  [df-jdbc] H2 1.4.190 (2015-10-11)                                                                     
  [df-jdbc]                                                                                             
  [df-jdbc] [JDBC Driver]                                                                               
  [df-jdbc] H2 JDBC Driver 1.4.190 (2015-10-11) for JDBC 4.0                                            
  [df-jdbc] * * * * * * * * * */                                                                        
  [df-jdbc] org.dbflute.exception.DfSchemaEmptyException: Look! Read the message below.                 
  [df-jdbc] /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *                        
  [df-jdbc] The schema was empty, which had no table.                                                   
  [df-jdbc]                                                                                             
  [df-jdbc] [Advice]                                                                                    
  [df-jdbc] Please confirm the database connection settings.                                            
  [df-jdbc] If you've not created the schema yet, please create it.                                     
  [df-jdbc] You can create easily by using replace-schema.                                              
  [df-jdbc] Set up ./playsql/replace-schema.sql and execute ReplaceSchema task                          
  [df-jdbc]                                                                                             
  [df-jdbc] [Connected Schema]                                                                          
  [df-jdbc] schema = {MAIHAMADB.PUBLIC as main}                                                         
  [df-jdbc] * * * * * * * * * */                                                                        
  [df-jdbc]     at org.dbflute.logic.jdbc.schemaxml.DfSchemaXmlSerializer.throwSchemaEmptyException(DfSc
hemaXmlSerializer.java:553)                                                                             
  [df-jdbc]     at org.dbflute.logic.jdbc.schemaxml.DfSchemaXmlSerializer.generateXML(DfSchemaXmlSeriali
zer.java:393)                                                                                           
  [df-jdbc]     at org.dbflute.logic.jdbc.schemaxml.DfSchemaXmlSerializer.serialize(DfSchemaXmlSerialize
r.java:298)                                                                                             
  [df-jdbc]     at org.apache.torque.task.TorqueJDBCTransformTask.doExecute(TorqueJDBCTransformTask.java
:127)                                                                                                   
  [df-jdbc]     at org.dbflute.task.bs.DfAbstractTask$1.callActualExecute(DfAbstractTask.java:113)      
  [df-jdbc]     at org.dbflute.task.bs.assistant.DfTaskBasicController.doExecute(DfTaskBasicController.j
ava:183)                                                                                                
  [df-jdbc]     at org.dbflute.task.bs.assistant.DfTaskBasicController.execute(DfTaskBasicController.jav
a:77)                                                                                                   
  [df-jdbc]     at org.dbflute.task.bs.DfAbstractTask.execute(DfAbstractTask.java:135)                  
  [df-jdbc]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)                 
  [df-jdbc]     at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)                          
  [df-jdbc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                                                                                                        
  [df-jdbc]     at java.lang.reflect.Method.invoke(Method.java:497)                                     
  [df-jdbc]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)          
  [df-jdbc]     at org.apache.tools.ant.Task.perform(Task.java:348)                                     
  [df-jdbc]     at org.apache.tools.ant.Target.execute(Target.java:357)                                 
  [df-jdbc]     at org.apache.tools.ant.Target.performTasks(Target.java:385)                            
  [df-jdbc]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)                 
  [df-jdbc]     at org.apache.tools.ant.Project.executeTarget(Project.java:1298)                        
  [df-jdbc]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)  
  [df-jdbc]     at org.apache.tools.ant.Project.executeTargets(Project.java:1181)                       
  [df-jdbc]     at org.apache.tools.ant.Main.runBuild(Main.java:698)                                    
  [df-jdbc]     at org.apache.tools.ant.Main.startAnt(Main.java:199)                                    
  [df-jdbc]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)                          
  [df-jdbc]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)                         
  [df-jdbc] 2016-06-06 06:25:44,510 INFO  - ...closeReally()                                            
  [df-jdbc] 2016-06-06 06:25:44,524 INFO  -                                                             
  [df-jdbc] _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/                                                
  [df-jdbc] [Final Message]: 00m00s433ms *Abort                                                         
  [df-jdbc]                                                                                             
  [df-jdbc]   DBFLUTE_CLIENT: {maihamadb}                                                               
  [df-jdbc]     database  = h2 (H2 1.4.190 (2015-10-11))                                                
  [df-jdbc]     language  = java                                                                        
  [df-jdbc]     container = lasta_di                                                                    
  [df-jdbc]     package   = org.docksidestage.dbflute                                                   
  [df-jdbc]                                                                                             
  [df-jdbc]   DBFLUTE_ENVIRONMENT_TYPE: {}                                                              
  [df-jdbc]     driver = org.h2.Driver                                                                  
  [df-jdbc]     url    = jdbc:h2:file:../etc/testdb/maihamadb                                           
  [df-jdbc]     schema = {MAIHAMADB.PUBLIC as main}                                                     
  [df-jdbc]     user   = maihamadb                                                                      
  [df-jdbc]     props  = {}                                                                             
  [df-jdbc]     additionalSchema =                                                                      
  [df-jdbc]     repsEnvType      = ut                                                                   
  [df-jdbc]     refreshProject   = $$AutoDetect$$, ..                                                   
  [df-jdbc] _/_/_/_/_/_/_/_/_/_/ {JDBC}                                                                 
                                                                                                        
BUILD FAILED                                                                                            
D:\AW\tool\dbflute\lastaflute-example-harbor\mydbflute\dbflute-1.x\build-torque.xml:137: org.dbflute.exc
eption.DfDBFluteTaskFailureException:                                                                   
/* * * * * * * * * * * * * * * * * * * * * * * * *                                                      
Failed to execute the DBFlute task: JDBC                                                                
Look at the log: console or dbflute.log                                                                 
* * * * * * * * * */                                                                                    

Masanobu Shimura

unread,
Jun 5, 2016, 6:37:58 PM6/5/16
to dbf...@googlegroups.com
追記です。

H2が1.4に上げたのが問題かと思い、1.3に戻して、
1.3 で再度 DBを作成して実行したら、下記になりました。

テストでテーブル TESTとAAAを作成したのですが、
これが最後にコメントで出ています。
「- AAA is excepted!                                            
- TEST is excepted!   」

なお schema は 空白でも、PUBLICでも結果は同じです。

志村

- ...Preparing data source:                                   
-   driver = org.h2.Driver                                    
-   url    = jdbc:h2:tcp://localhost\:9092/~/amazonjpnew      
-   user   = sa                                               
-                                                             
- ...Starting to process JDBC to SchemaXML                    
- ...Loading previous schema (schema diff process)            
- ...Resolving XML by database.dtd in same package            
- ...Getting DB connection                                    
- ...Connecting to database by data source:                   
-   product = H2 1.3.176 (2014-04-05)                         
-   driver  = H2 JDBC Driver 1.3.176 (2014-04-05) for JDBC 4.0
                                                              
- ...Getting DB meta data                                     
- ...Getting tables:                                          
-   schema = {AMAZONJPNEW.PUBLIC as main}                     
-   types  = [TABLE, VIEW]                                    
- AAA is excepted!                                            
- TEST is excepted!                                           
-                                                             

kubo

unread,
Jun 5, 2016, 7:27:00 PM6/5/16
to DBFluteユーザの集い
jfluteです

志村さん、おはようございます。
取り急ぎ、H2 Database のテーブルの作り方はどうされてます?

> 念の為に、lastaflute-example-harborをダウンロードして、実行しましたが、
> 同じエラーになってしまいました。

harborプロジェクトだと、まず ReplaceSchema を叩いた後に、
JDBC であればメタデータ取れるはずですね。
(こちらの環境では、それでうまく動いています)



あと、以前、古いバージョンで作った H2 に対して、
新しいバージョンだとメタデータ取得できないって現象がありました。
そのとき、新しいバージョンで改めてDBを作り直さなかったです。

Masanobu Shimura

unread,
Jun 6, 2016, 6:52:09 AM6/6/16
to dbf...@googlegroups.com
久保様

早速のご連絡ありがとう御座います。

色々やったのですが、良く判らない状況です。

結果的に下記でなんとかなりました。

lastaflute-example-harbor のreplace schemaで新たな
DBを作成する。

それを名前を変えれば、使用出来ました。

H2 1.4で新たなDBを作成し、テーブルも作成したのですが、
これは駄目でした。

どこが違うか良く判らないのですが、取り敢えずこれで
なんとかなりそうです。

Postgresqlだと楽なのですが、Clientに添付するので H2を
是非使いたいので、取り敢えずこれで行きます。

ありがとう御座いました。

志村

2016年6月6日 8:26 kubo <dbf...@gmail.com>:

--
このメールは Google グループのグループ「DBFluteユーザの集い」の登録者に送られています。
このグループから退会し、グループからのメールの配信を停止するには dbflute+u...@googlegroups.com にメールを送信してください。
このグループに投稿するには、dbf...@googlegroups.com にメールを送信してください。
https://groups.google.com/group/dbflute からこのグループにアクセスしてください。
その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。

Reply all
Reply to author
Forward
0 new messages