«前の日(11-11) 最新 次の日(11-13)» 追記

これ日記なん?


2002-11-12(Tue) 7079 21:15 この日を編集

_ SQLServer6.5→PostgreSQL7.2.3

コンバージョン中...いたるところにトラップが仕掛けられてるなあ...。

_ その1.現行の設計がテーブル名とかカラム名がSJIS,半角カナバリバリなのはまあ許そう(ほんとは許せんが)。とりあえず PostgreSQLなら作れるし...って、漢字と1byte大文字を混ぜると後で認識しなくなっちゃう。たとえば、"ほげほげDB"を作って、psqlとかcseで検索かけると"ほげほげdb"を見にいくみたいでだめ。ちなみに"ほげほげdb"と"ほげほげDB"は同時に作れる。とりあえず小文字にしておく。

_ その2.ためしにAccess97からexportしてみたら、数字のフィールドは軒並みfloatに。簡単なのはいいんだけど、NUMERICにしたいんだよ〜。とりあえずあきらめて、EnterpriseManagerでSQLを出力しておいて、手動でエディット。

_ その3.ruby + ADO で簡単なタブ区切りダンプファイルを作ったのはいいが、FreeBSD上のpsqlに放り込むと軒並みエラー。行末ってUNIX改行のみらしい。binmodeで出力しなおし。

_ その4.pgsqlpsqlでcopy するには supervisorじゃないとだめ。\copyだと一般ユーザはok

_ その5.pgsqlpsqlで\copyするとき、数値タイプの初期値はNULLだとダメみたい。そりゃそーだ。だけど、どこでセットしよう。てか最初に数字タイプなのにNULL許してんじゃねーよ!といいたい。無理やりrubyでどうにかするしかない。

_ その6.無理やりどうにか、ってADOで吐くときになんとかしようと思ったら、ちゃんとしたADOのリファレンスが見当たらない。MSDNはわかりにくいし、最近のしか載ってないし。レコードセット.Fields.Type の戻り値は数字だし。あ、WIN32OLE.load_const 使えばいいのは知ってるけど、結局定数がなんなのかよくわからん。

_ その7.ruby + ADOで日付型を吐くと、デフォルトで"YY/MM/DD HH:MM:SS"な形式になっちゃう。”日付”だけにしたいんだよー。

_ というところで時間切れ。フォローかかってるし。いったいどうすりゃいいの(;_;