• Showing Page History #7837

よくある質問をまとめてみました。

Out of Memoryエラーが出てStickerが落ちます

JVM起動オプションにヒープメモリサイズを指定します。以下の例ではヒープサイズに1024MByte(1GByte)指定しています。
  java -Xmx1024M -jar Sticker-x.x.x.jar config.xml

<import>と<queryImport>の違いが分かりません

<import>タグはCSVファイルとリモートRDB、内部DBそれぞれ自由にデータをエクスポートできます。 しかしインポート対象となるデータは常に“全件”が対象です。 それに対し、<queryImport>タグはリモートRDBと内部DBの間でだけデータをエクスポートできます。 また、<import>タグと異なり、Select文による結果がエクスポート対象のデータとなります。

内部DBを使った処理が異常に遅い

まずはヒープメモリのサイズを上げてください。 そのうえで、SQL文を見直してみてください。データ加工時にupdateを多用していると遅くなりますので insert文でうまく処理できるように工夫してみてください。一般的にupdate文よりinsert文の方が速いです。

-serializeオプションを使ってStickerを起動したら<table>タグでエラーが出た!

以下のようなエラーが表示されてStickerが異常終了した場合、<table>タグの処理でテーブルを作成しようとして HSQLDB内に既にテーブルが存在するために処理が失敗した可能性があります。
[ERROR] Sticker 処理中に例外をキャッチしました. : java.sql.SQLException: Table already exists: テーブル名 in statement [create table テーブル名] 
serializeオプションで指定したディレクトリ以下に保存されている以下のファイルを削除してください。
  • sticker.lck
  • sticker.log
  • sticker.properties
  • sticker.script ※<table>タグのこの挙動は将来的に修正するかもしれません。