日記帳
本ページはプロモーションが含まれています
カテゴリー
Links
blog(ブログ)マスター
アンドロイドの巣
ゼロから始めるベランダ菜園
タイトル
2024年11月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

Search Results

Firebird upgrade 2.1 to 2.5


執筆:2011/03/02
編集:2011/03/05


【まとめ】
  • SQL-2003対応になった
  • UTF8とShift_JIS間でコンバートが発生すると
    コンバートエラーを起こしやすい( Ⅱ など)
  • Malformed stringと表示され、リストアなどができない
    全角が使えないわけではない。
    コードページの再確認:SJIS,CP943C,UTF8
    Firebird Language Reference Update
      Firebird-2.1-LangRef-Update.pdf
        New character sets
  • CHARACTER SET のチェックが厳しくなった。
    いままで適当なことをしているとgbakなどで返り討ちされる。
    DEFAULT CHARACTER SET NONE;
【考察】
 移行には、ある程度アプリケーションの修正が必要になると思います。
新しい構文を使いたい場合やUTF8アプリケーションの場合は、移行すると便利と思います。
Shift_JISでデータをやりとりしている場合は、移行する必要性が感じられません。手間など不利益のほうが大きいでしょう。
 どうしても移行したく、エラーで変換できない場合は、テーブルをSQLダンプできるツールを使用するか、新規にデータベースを作成して、テーブルをコ ピーするといいだろう。
 構造が複雑な場合以外は問題ないと思いますが、
Firebird Roadmapには、2.5は、当面バグふぃっすに重点をおくと書いてあるので
急ぐ必要がない場合は、ある程度バグができってしまってから2.5に乗り換えた方がいいように思います。

» Firebird upgrade 2.1 to 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: データ移行ソフトのコピー後の全データ照合。

» Firebird upgrade 2.1 to 2.5(その2)'">続きを読む

2011.03.09

Firebird の動作検証

作成日:2006.09.06
更新日:2006.09.06
更新日:2009.06.27

マイPCで 動作したもの 動作しなかったもの リスト

Version

コンパイラ

Windows

Vista XP 9.x系
Me 98 95
1.5.3 embed win  Delphi2005
(WinXP)
   
2.0.3 上記同様     ×
2.1.2
上記同様


2.5.x






3.x  

?(-)

空白は未確認 (※説明書上は、対応)

【win 95】
2.0.x系は、付属ツールも起動と同時にエラーで落ちました。
Win95では、1.5.x系で我慢するしかなさそうです

Firebird_v2.1.2.InstallationGuide.pdfには、
2.xでは、いずれWin9.x系をサポートしなくなるだろうと書かれている。


Firebird 1.5x embedの感想】
 短所:boolean型がないのが痛い。
 長所:処理が速い。
  win95でもさくさく動くのがイイ。
  開発の止まったBDEより断然お得?
 日本語列名が使えてGood

Firebird 2.x embedの感想】
  いろいろ機能アップ。
 またしてもboolean型がないのが痛い
 2009年現在、2.0.x、2.1.x、2.5.xの3系統がある。

Firebird 2 新しい予約語 (Newly Reserved Words)
  BIT_LENGTH
BOTH
CHAR_LENGTH
CHARACTER_LENGTH
CLOSE
CROSS
FETCH
LEADING
LOWER
OCTET_LENGTH
OPEN
ROWS
TRAILING
TRIM
Changed from Non-reserved to Reserved
  USING
Keywords Added as Non-reserved
  BACKUP *
BLOCK *
COLLATION
COMMENT *
DIFFERENCE *
IIF *
NEXT
SCALAR_ARRAY *
SEQUENCE
RESTART
RETURNING *
Keywords No Longer Reserved
  ACTION
RESTRICT
WEEKDAY *
CASCADE
ROLE
YEARDAY *
FREE_IT *
TYPE
No Longer Reserved as Keywords
  BASENAME *
GROUP_COMMIT_WAIT *
NUM_LOG_BUFS *
CACHE *
LOGFILE *
RAW_PARTITIONS *
CHECK_POINT_LEN *
LOG_BUF_SIZE *
Those marked with an asterisk (*) are not present in the SQL standard.
2006.09.19

Firebird 2.5 が公開されています。
さっそくインストール と
その前に、付属文書を読んで概要を確認しました。

うーん、
データベースに文字コード指定できるくらいで
あまりメリットがない。
ということで、 2.1.xを継続利用することに決定。

そもそも、アプリケーションがshift-jisだから
dbがunicode対応になってもなんの恩恵もない。

Firebirdは、
サイズは大きいけどクラッシュしないから、いい。
ポータブルなアプリケーションにもってこいのdb
ただし、日本の参考書が皆無。
英語のマニュアルか古いinterbaseの解説書あたりしか参考にできない。

Mysqlやoracleの時代なんだし
embedバージョンがなかったらFirebirdってただのゴミだよね。

SQliteって世の中にあるけど、あれは、もっとゴミ。
ほとんど書き込みのない設定ファイルくらいには、いいけど
データをばんばんいれるのには、向いていないよね。

2010.10.27

タイトル

執筆:2022.10.22
編集:2022.10.22


久々にIDE起動

InterBase library gds32.dll not found in the path. Please install InterBase to use this functionality

あれ?

%windir%\system32\net.exe start "Firebird Guardian - DefaultInstance"
無効なサービス名です。

NET HELPMSG 2185 と入力すると、より詳しい説明が得られます。

あれれーーー

安定していたのでさわることがなく、Embedded で運用していたため気が付きませんでした。
OS載せ替えたときに、サービスの登録が消えていたのですね

いまFirebird の安定板は version4.0なのですね。
互換性チェックとアップグレードに伴うdb変換は 面倒なので
2.5で安定運用していたので現時点でバージョンを上げるわけにはいかないのですよ😑。

手動でサービス追加するは面倒そうなので
最終版の2.5.9をダウンロードしてインストーラーで再インストール。

開発環境でもアプリ起動できるようになりました。
2022.10.22

Firebird 2.5.1 Embeddedでは複数のクライアントが同時に接続できるようになっていた

知らなかった!!
かなり前かららしい

共有サーバーで firebird+webデビューできそうな予感

脱sqlite!!

sqliteは基本機能がとてもとても貧弱すぎて、つかうの大変。

現状 sqliteで困っていないし、
コード書き換え面倒なので
今後数年は、現状維持ですね。

2016.01.30

PR

[PR]