SQLiteの面白さ(22) 日本語のカラム名を使っていると...

業務でSQLiteを使用するときは、他のユーザーとの妥協で、カラム名には日本語を使うことがある。「受験番号」とか「点数」とか、「勤務先電話番号」とか。どうせ、AccessからODBC経由で参照するだけなのだから、これで大きな問題になることはない。ただ、メンテナンス担当の私が少し苦労をすればいいだけだ。
例えば、クエリを発行するたびに、クエリ文字列を一度テキストエディタで書いて、UTF-8で保存して、sqlite3.exeに突っ込んでというまわりくどい作業をすればいいわけだ。
と思っていたら、今日、新たな壁にぶつかった。パフォーマンス上の問題があって、Accessからパススルークエリを使おうとしたのだが、日本語カラム名がひっかかって動作してくれないことが判明した。やっぱり、日本語のカラム名を使ったのがいけなかったのだ。

いや、ここでふと思い当たる節があった。使っているのは私の改造した日本語対応ODBCドライバだ。もしかしたら、何か見落としがあったのでは。
というわけで、SQLite3用のODBCドライバのソースをあたったところ、ところどころ文字コード変換漏れと思しき箇所が見つかった。これを修正すればパススルークエリでも日本語が通ってしまうかもしれない。
現在、ODBCドライバ改造作業中。近日中には公開できそうな具合だ。

"SQLiteの面白さ(22) 日本語のカラム名を使っていると..." へのコメントを書く

お名前
メールアドレス
ホームページアドレス
コメント