![]() |
Sidebar |
Firebird upgrade 2.1 to 2.5
執筆:2011/03/02
編集:2011/03/05 【まとめ】
移行には、ある程度アプリケーションの修正が必要になると思います。
新しい構文を使いたい場合やUTF8アプリケーションの場合は、移行すると便利と思います。 Shift_JISでデータをやりとりしている場合は、移行する必要性が感じられません。手間など不利益のほうが大きいでしょう。 どうしても移行したく、エラーで変換できない場合は、テーブルをSQLダンプできるツールを使用するか、新規にデータベースを作成して、テーブルをコ ピーするといいだろう。 構造が複雑な場合以外は問題ないと思いますが、 Firebird Roadmapには、2.5は、当面バグふぃっすに重点をおくと書いてあるので 急ぐ必要がない場合は、ある程度バグができってしまってから2.5に乗り換えた方がいいように思います。 カテゴリー: General
2011.03.07
Firebird upgrade 2.1 to 2.5(その2)
執筆:2011/03/07
編集:2011/03/07 Firebird2.5へアップグレード(その2) どうやら、metadataというものが、2.5からutf8で保存されるようになったようだ。 データ部分は、デフォルトのデータベースの文字セットと同じになっている気がする。 Firebird2.5から データベース NONE だとアップグレード時にgbakがリストアで失敗するので データベース に文字コードを指定して構造を先に作成したあと、 TIBDatabaseを2つ用意して Tableループでテーブルのコピーをさくっとして正常動作しました。 (手順としては、データフィールド以外は無視+NULLも) テーブルのリストは、IBDatabase1.GetTableNames(Tables, False);で取得できます if (current_field.FieldKind <> fkData) or (current_field.IsNull) then Continue; // コピー destTable.FieldByName(current_field.FieldName).AsVariant := current_field.AsVariant; Shift_JISから、UTF8へ保存する場合は、破損する場合があるので注意しよう。 将来性を考えて、 専用変換ソフトを作って、ワンプッシュで新しいデータベースにコピーできるようにしました。 (TableとGENをコピー) ここは、素直に、データベースとアプリケーションとも同じ文字コードで接続したいと思います。 Todo: データ移行ソフトのコピー後の全データ照合。 カテゴリー: ぷろぐらみんぐ/データベース
2011.03.09
|
Sidebar |