布団が俺を呼んでいる

丘山大一のぶろぐ

Firebird Embededのお勉強 ISQLの使い方 スクリプトファイルのSQLを実行できない

解決? まで3時間ほどかかりました。

結論!

ISQL.exe で「-i」オプションをつけて読み込ませるファイルには、BOM (Byte Order Mark) をつけてはいけないらしい。

細かい話

isql.exe - i hogehogeScript.fmq -user SYSDBA -password masterkey -charset UNICODE_FSS 'HOGE.FTB';
とやったら、何回やっても最初のクエリの実行で失敗する。
接続する文字セットを変えたらうまくいくかな? と思いましたが、それでも失敗。
「最初だけ失敗する……?」
「最初にだけあるもの/ないもの ってなんだ……?」
「BOMだ!」
「とりあえずBOM外せ!」
「なんか知らんが動いたぞちくしょー」

根拠

やってみてダメだった、BOM外したらうまくいった……というだけです。
根拠となるドキュメントを発見できていません。

・私の検索能力が低い説。
・そもそもISQL の使い方間違ってんだよ説。
・BOM がダメなんて常識だろ説。
・Windows でスクリプト系ファイルを書く情弱なんて、我々Firebird 業界にはいらんのだよ説。
・はぁ? 何言ってんの? お前の環境おかしいよ説
etc. 

諸説ありますが、とりあえず誰か正解を教えてください。

思うに

BOMがダメだとしたら、MS信者、WIndows 万歳な人間には辛い仕様だぜよ。


Firebird 徹底入門

新品価格
¥4,104から
(2016/8/31 20:45時点)

コメントを書く