従来のデータベースエンジンからの移行
• 移行手順の具体例
• ミガロ.テクニカルレポート No.9 2016年秋
従来のデータベースエンジンからの移行
• 実際の移行作業時の懸念点
• 大量のデータベース関連コンポーネントの置き換えが発生
•
コード修正量を減らすには、元のコンポーネントと同じ名前にしたほうが良い。→ いったん元のコンポーネントをリネームして、新しいコンポーネントを貼り付け て、元の名前を付与したうえで、元のコンポーネントを削除する必要がある。
• usesリストの修正が必要
•
FireDAC関連のusesリストは、FireDACコンポーネントの配置で自動的にセットされるが、元のデータベースエンジンのusesリストは、コンポーネントを削除しても クリアされない。 → 手でリストを修正しなければいけない。
FireDAC関連のユニットは コンポーネント配置で 自動的に追加される。
BDE関連のユニットは、
コンポーネント削除後に
手で削除しなければいけない。
BDE (TTable) TFDTableに置き換え、プロパティ移行 TTable(BDE)削除
従来のデータベースエンジンからの移行
• 移行ツールの活用
• reFind (テキスト置換ユーティリティ)
•
変換ルールの定義のもとづき、テキストを 一括置換できるツール。•
Delphi/400 10 Seattle に標準で付属。C:¥Program Files¥Embarcadero¥Studio¥17.0¥bin¥reFind.exe
•
変換ルールをテキストファイルで作成可能。詳細は、エンバカデロDocWikiに記載。
http://docwiki.embarcadero.com/RADStudio/Seattle/ja/Refind
•
Delphiのソースファイル(*.pas) 及び フォームファイル(*.dfm/*.fmx)は、テキスト形式で保管されている為、テキスト一括置換でコンポーネントの置き換えが できる。
•
BDE、dbExpress 関連のそれぞれの文字列をFireDAC関連の文字列に置換する変換 ルールファイルも用意されているので、reFindは、容易に使用可能。
BDE → FireFAC
C:¥Users¥Public¥Documents¥Embarcadero¥Studio¥17.0¥Samples¥Object Pascal ¥Database¥FireDAC¥Tool¥reFind¥BDE2FDMigration¥FireDAC_Migrate_BDE.txt
dbExpress → FireDAC
C:¥Users¥Public¥Documents¥Embarcadero¥Studio¥17.0¥Samples¥Object Pascal ¥Database¥FireDAC¥Tool¥reFind¥DBX2FDMigration¥FireDAC_Migrate_DBX.txt
BDEからFireDACへの移行デモ
• サンプルプログラム
•
ネイティブ接続(Call400)でRPGをCALLして、ワークファイルを作成。•
処理結果のワークファイルをBDE接続で取得して、DBGridに出力。BDEコンポーネント
ネイティブ
BDEからFireDACへの移行デモ
• サンプルプログラム
•
プログラムソースFormのOnCreateイベント
CL(RPG)をCALL。
BDE Tableをオープン。
ネイティブ、BDEの 接続パラメータ指定。
ライブラリリスト の追加。
Button1のOnClickイベント