0

この XML ドキュメントを使用して、特定のテーブルを postgresql データベースにロードしています。

create_table.xml:

<?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database.dtd">
<database name="sample">
    <table name="Location">
        <column name="LocationID" type="INTEGER" primaryKey="true" />
        <column name="LocationModifyDate" type="DATETIME" required="true" />
    </table>
</database>

しかし、ロードすると例外が発生します。

An exception occurred.  Please see the following for details:
-------------------------------------------------------------------------------
org.jumpmind.db.model.ModelException: Unknown JDBC type DATETIME
  at org.jumpmind.db.model.Column.setMappedType(Column.java:283)
  at org.jumpmind.db.io.DatabaseXmlUtil.nextTable(DatabaseXmlUtil.java:202)
  at org.jumpmind.symmetric.io.data.reader.XmlDataReader.readNext(XmlDataReader.java:139)
  at org.jumpmind.symmetric.io.data.reader.XmlDataReader.open(XmlDataReader.java:75)
  at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:84)
  at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:78)
  at org.jumpmind.symmetric.io.data.DbImport.importTablesFromXml(DbImport.java:208)
  at org.jumpmind.symmetric.io.data.DbImport.importTables(DbImport.java:154)
  at org.jumpmind.symmetric.DbImportCommand.executeWithOptions(DbImportCommand.java:188)
  at org.jumpmind.symmetric.AbstractCommandLauncher.execute(AbstractCommandLauncher.java:130)
  at org.jumpmind.symmetric.DbImportCommand.main(DbImportCommand.java:72)

XML ファイルをロードするために使用するコマンドは次のとおりです。

../bin/dbimport --engine corp-000 -format XML create_table.xml

DATETIME ではなく INTEGER を使用すると、XML ファイルは正しく処理され、テーブルが作成されます。

この例外はどういう意味ですか? おそらく、JDBC 標準データ型を使用する必要がありますか?

4

1 に答える 1

1

DATETIMEの代わりにタイムスタンプを使用する

    <column name="LocationModifyDate" type="TIMESTAMP" required="true" />

ここでpostgresqlの日付/時刻のマニュアルを読んでください:

http://www.postgresql.org/docs/9.1/static/datatype-datetime.html

于 2013-08-17T21:13:04.610 に答える