Show page source of FAQ #43073

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

=== 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内に既にテーブルが存在するために処理が失敗した可能性があります。
 ※<table>タグのこの挙動は将来的に修正するかもしれません。
{{{
[ERROR] Sticker 処理中に例外をキャッチしました. : java.sql.SQLException: Table already exists: テーブル名 in statement [create table テーブル名] 
}}}
 serializeオプションで指定したディレクトリ以下に保存されている以下のファイルを削除してください。
  * sticker.lck
  * sticker.log
  * sticker.properties
  * sticker.script


=== 起動したら「[ERROR] Sticker 処理中に例外をキャッチしました. : Invalid byte 1 of 1-byte UTF-8 sequence.」とエラーが表示された
 定義ファイルにXML宣言が抜けているため、パーサーが文字コードをUTF-8と仮定して動作を開始しました。
 このとき、設定ファイルが正しく読み込めなかったモノと思われます。XML宣言を定義し、正しい文字コードを指定してください。

{{{
<?xml version="1.0" encoding="SHIFT_JIS"?>  ←これ
<sticker version="0.1.5" debug="false">
	<servers>
		<server nam...
}}}

=== <sql>のSQLにセミコロン「;」を入れたらエラーになった。
 Oracleにて、SQLの末尾にセミコロンを付加するとエラーになるようです。
 通常のSQLにはセミコロンを入れないでください。なお、<sql>タグを利用してストアドプロシージャやファンクションを作成する際には末尾にセミコロンを
 入れてください。