dbExpress アプリケーションの移行(FireDAC)

提供: RAD Studio
移動先: 案内検索

DbExpress アプリケーションの FireDAC への移行 への移動


この例では、Delphi デモ アプリケーション(MeetingOrganizer)を FireDAC にどう移行するかを段階的に示しています。

このデモ アプリケーションについては、必要なファイルは、C:\Users\Public\Documents\Embarcadero\Studio\23.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo にあります。}}

  • migrate.bat ユーティリティは、ルート フォルダにあります。
  • MeetingOrganizer デモ アプリケーションは、Forms フォルダにあります。
  • MEETINGORGANIZER.GDB は、Database フォルダにあります。
  • dbExpress 接続ファイル(dbxconnections.ini)は、ルート フォルダにあります。

ステップ 1:Migrate.bat ユーティリティの実行

migrate.bat ユーティリティを実行するには:

  1. C:\Users\Public\Documents\Embarcadero\Studio\23.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo フォルダに移動します。
  2. migration.bat アプリケーションをダブルクリックします。

migrate.bat ユーティリティは、Forms フォルダ内に新しいフォルダ FireDAC_MeetingOrg を作成し、dbExpress アプリケーションの移行ファイルを、FireDAC_MeetingOrg フォルダにコピーします。MeetingOrganizer アプリケーションの元のソース ファイルは、元のフォルダ内に保持されます。

migrate.bat ユーティリティは、RAD Studio ツール reFind を実行して、アプリケーションのdbExpress 用語を対応する FireDAC 用語に置き換えます

ステップ 2:FireDAC 永続接続定義の設定

元の MO dbExpress 接続は、dbxconnections.ini で定義されています。同じ FireDAC 接続定義を MeetingOrganizer デモのために作成する必要があります。

新しい FireDAC 永続接続定義を作成するには、FireDAC Explorer を使用するか、FDConnectionDefs.ini ファイルを編集します。

  1. 新しい FireDAC 接続定義を作成します。
  2. 接続の次のフィールドを設定します。
    • Name: MO
    • DriverID: IB
    • Database: C:\Data\MEETINGORGANIZER.GDB
    • User_Name: sysdba
    • Password: masterkey
  3. この新しい接続定義を保存します。
  4. C:\Users\Public\Documents\Embarcadero\Studio\23.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo\Database フォルダに移動します。
  5. Interbase MEETINGORGANIZER.GDB データベースを、C:\Data\MEETINGORGANIZER.GDB へコピーします。

これは、FDConnectionDefs.ini ファイル内の MeetingOrganizer アプリケーションの最も簡単な接続定義です。

 [MO]
 DriverID=IB
 Database=C:\Data\MEETINGORGANIZER.GDB
 User_Name=sysdba
 Password=masterkey
メモ: RAD Studio を閉じる必要があります。

ステップ 3:実行時用 FireDAC アプリケーションの準備

アプリケーションに DBMS 固有の FireDAC ドライバやその他の必要なユニット(IFDGUIxWaitCursor インターフェイスおよび IFDPhysDriver インターフェイス用)。

サンプル アプリケーション MeetingOrganizer は、FireMonkey アプリケーション内の InterBase で使用します。

  1. C:\Users\Public\Documents\Embarcadero\Studio\23.0\Samples\Object Pascal\Database\FireDAC\Tool\reFind\DBX2FDMigration\Demo\Forms フォルダに移動します。
  2. MeetingOrganizer.dproj プロジェクトを開きます。
  3. IDE では、uMainDM.pas ユニット ファイルを開きます。
  4. TFDPhysIBDriverLink コンポーネントをプロジェクトにドロップします。
  5. TFDGUIxWaitCursor コンポーネントをドロップします。

ステップ 4:接続パラメータのセットアップ

uMainDM.pas ファイルで次の変更を行います。

  1. SQLConnection TFDConnection コンポーネントを選択します。
  2. [オブジェクト インスペクタ]で、ConnectionDefName の値を MO に変更します。
  3. テキスト エディタを使って(または Alt+F12 を押す)、.dfm ファイルまたは .fmx ファイルを開きます。
  4. データ モジュールに TFDConnection コンポーネントをセットアップします(dbExpress 用の既存の Params.Strings を編集します)。
        Params.Strings = (
          'ConnectionDef=MO'
          'Database=C:\Data\MeetingOrganizer.gdb'
          'User_Name=sysdba'
          'Password=masterkey')
    
  5. コード エディタに移るか、F12 を押します。
  6. 手続き SQLConnectionBeforeConnect の実装をコメントします。
    procedure TMainDM.SQLConnectionBeforeConnect(Sender: TObject);
    begin
    //  SQLConnection.LoadParamsFromIniFile
    //    (IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) +
    //    'dbxconnections.ini');
    end;
    

ステップ 5:データ型マッピングの互換性の設定

InterBase dbExpress ドライバと FireDAC InterBase ドライバはデータ型マッピングが同じです。ただし、次のように、"[VAR]CHAR(N) CHARACTER SET OCTETS" だけはその例外です。

  • dbExpress では、それを ftString/ftWideString にマッピングします。
  • FireDAC では、それを ftBytes/ftVarBytes にマッピングします。

まだ、他の点でも、マッピングや動作が少し異なる場合があります。それらを統一するには、以下を行います。

  1. SQLConnection TFDConnection コンポーネントを uMainDM.pas ファイルで選択します。
  2. [オブジェクト インスペクタ]で以下を設定します。

ステップ 6:MeetingOrganizer 移行デモの実行

MeetingOrganizer アプリケーションにより、アプリケーションの登録ユーザーのためのミーティングを、登録された部屋で行うことができます。MeetingOrganizer アプリケーションを使用すると、ユーザー、カンファレンス ルーム、ミーティング ルームの情報を、登録および変更することができます。

  1. アプリケーションを実行するには、[実行]または F9 を押します。
  2. MeetingOrganizer アプリケーションにログオンするには、次の登録テスト ユーザーを使用します。
    • ログイン ユーザー: borland
    • パスワード: borland
メモ: これは、MEETINGORGANIZER.GDB にアクセスするためのユーザーではなく、MeetingOrganizer アプリケーションの登録済みユーザーです。

関連項目