AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
DelphiXE3 [FMX] データベース Firebird 2014/07/16
 
前回まではファイルについて記述してきましたので、今回は、データベースについて見てみます。
 
データベースは既に記述してきた通り、スタンドアロン型、クライアント・サーバー型があり、従来、前者はBDE(Borland Database Engine)=データベースソフト「Borland PARADOX」がよく利用されており、後者は、「Borland Interbase」が昔から利用されてきています。しかし、BDEはもう現在、全く推奨されておらず、FireDAC を利用する事が推奨されています。しかし、DelphiXE3 Professional には、この FireDAC の機能は装備されておらず、別途オプションとなっています(RADStudioXE3では標準装備)。「Interbase」はクライアント・サーバー用ですが、ローカルホスト指定により、スタンドアロンとしても利用する事が出来ます。但し、この「Interbase」は非常に高価です(Interbase 7.1・10クライアント用は 30万円程したと思います)。Delphi には以前から、ローカル使用のための開発用パッケージが同梱されていますが、配布ライセンスは同梱されておらず、利用者に別途、購入してもらう、という事になっています。
スタンドアロン用であれば、Delphi の場合、ADO=Microsoft ACCESS、VisualBASIC等で利用されるJetエンジン/DAO等のインターフェイスを利用する事が出来ますので、そういったものを利用する手法はあります(※Windows用)。ですので問題は、クライアント・サーバー用で、Interbaseの古いバージョンのソースが公開されてそこから発展した Firebird というフリーのデータベースが、利用される事が多くなっているようです。
 
Delphi には、Interbase専用のコンポーネント Interbase Express(IBX)が標準で搭載されており、以前から Firebird も利用出来ていましたので、これを FireMonkey(FMX)で試してみます。
 
そのほか、dbExpress(DBX)という機能もありますが、残念ながら、DelphiXE3 Professional では、このコンポーネントで Firebird を使う事は出来ません。上位パッケージの Enterprise版では可能な様子ですが…。
 
 
まずは、データベースの説明頁や先の「DelphiXE3 データベース Firebird」で記載したように、
Firebird 日本ユーザー会
http://tech.firebird.gr.jp/
Firebird 公式サイト
http://www.firebirdsql.org/
 
から Firebird をダウンロードしてインストールを行いますが、どうせなので、2.5.2(Windows7 には「Firebird-2.5.2.26540_0_Win32.exe」、MacOSXには「FirebirdSS-2.5.2-26540-0-x86_64.pkg.zip」)を入れてみました。
(※Windows7には以前、2.0.4をインストールしていたので、それをアンインストールし、PCを再起動してから 2.5.2 をインストールしています)
 
Firebird に添付の「ISQL」ツールにて例題データベースファイル「employee.fdb」を開いてみて、正常に動作する事を確認します。
 
それでは、、データベースの説明頁で記載した「住所録」プログラム(d013.zip)と似たようなプログラムを、FireMonkey HD アプリケーションで作成します。そのまま流用したり、画面デザインのコピー&ペーストが出来ないので、同じような感じに似せて1から画面デザインします。プログラムコードは普通にコピー&ペースト出来ますが、一部、変更を行なっています。本来は、もっとしっかりコーディングしないといけない所ですが、テストということで省いていますので注意して下さい。
 

 
・郵便番号辞書の関連は入れていません。
・データ入力・編集にて、エディットコンポーネントに MaxLength プロパティがありませんから本来はプログラムで入力文字数チェックが必要になりますが、入れていません。
・データベースに Unicode対応をすべき所ですが、何もしていません。以前のままです。
・ShowMessageはたしか非推奨だったと思われますが、以前のまま使っています。
・アイコンは作成していません。
 
 
ソースプログラムのみです。実行プログラムはファイルサイズが巨大になるため、入れていません(Win32:9MB、MaxOSX:11MBほど)。
 
取り敢えず、プログラムは作ってみましたが、以前、「InterbaseXE3 テスト配置」を入れてしまったせいか、全く、動作しなくなってしまいました。これをアンインストールして PCを再起動しても同様に、上記のテストプログラムは動作してくれません。
 
そのため、Firebird 2.5.2 の binフォルダ内にある「fbclient.dll」を、Windows7 のシステムフォルダ(Windows7-64bit版なので C:¥Windows¥SysWOW64)内に、「gds32.dll」と名前を変えてコピーしています。
「InterbaseXE3 テスト配置」はアンインストールしましたが、このファイルは残っていたようで、上書きコピーになります。
 
ですから、もし、プログラム利用者が 別のソフトウェアで Interbase 対応のアプリケーションを利用している場合には、これと重複してしまうため、Windowsシステムフォルダに「fbclient.dll」を「gds32.dll」として入れるのではなく、プログラムと同じフォルダに入れる方が安全かもしれません。
 
 
次の問題は、MacOSX です。
上記プログラムを MacOSX でコンパイル・配置して実行をすると、エラーして全く動作しません。PAServer は 「Interbaseをインストールせよ」と表示して止まってしまいます。
 
当方は、MacOSX や Unix に詳しくありませんので、よく分かりませんが、Windowsの場合と同様に、動的ライブラリのファイル名変更コピー等で動くのかもしれませんが、よく分かりませんので、未確認です。
 
 
Firebird そのものは動作しているようですが、どうも、DelphiXE3 Professional との相性はいまいち良くない様子です。このような状況では、とてもじゃありませんが、データベースアプリケーションを作成して一般向けに配布/販売、ということは出来ないですね。
 
残念ながら、DelphiXE3 Professional マルチプラットフォーム環境での データベース Firebird 利用によるデータベースアプリケーション開発は、諦めた方が無難な様子です。
 
 
DelphiXE3 Enterpriseでの dbExpress/FireDAC 〜 Firebird を利用したデータベースアプリケーション開発、という路線は有り得るかもしれません。当方ではどうしようもありませんけれども。
 
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Dehi入門編
>Delphi2010
>DelphiXE3
▲2014/07/10
 2014/07/16
▼2014/07/25
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.