第1回 開発環境の用意とテストアプリの作成

中林 紀彦
日本アイ・ビー・エム株式会社
2002/12/3

接続テストを兼ねたサンプル・アプリケーション

 KylixとDB2のインストールが完了したので、接続テストを兼ねて簡単なサンプル・アプリケーションを作成してみましょう。今回はKylixのコンポーネントを使ってDB2へ接続できることを確認するだけなので細かい点は省略します。Kylixを使ったデータベース・プログラミングについての詳細は次回以降で解説します。

 今回コーディングをする部分はないので、Delphi IDEでもC++ IDEでも操作はまったく同じです。また、Kylix 3のインストールの部分でも説明しましたが、DB2の環境を利用するので、DB2のインスタンス・ユーザーであるdb2inst1でKylix 3を起動します。

プロジェクトの作成

図1 アプリケーション構成図

 最初にKylixを起動すると、空のフォームが1つ作成されます。このフォームを使って簡単なDB2アプリケーションを作ってみます。空のフォームがない場合は、[ファイル]→[新規作成]→[アプリケーション]を選んで、新規のプロジェクトを開始します。

 これから作成するアプリケーションの概要は図1のようになります。

 KylixのdbExpressコンポーネントを使ってデータベースと接続し、データベース中のどのテーブルからどんなデータを取り出すかを指定します。次に、Data Accessコンポーネントを使って、データベースからデータを取り出して表示用のコンポーネントにデータを渡します。最後に、Data Controlsコンポーネントを使ってデータを表示します。

dbExpressコンポーネントの配置と設定

 データベースに接続する際に必要なコンポーネントであるSQLConnectionコンポーネントを[dbExpress]タブから選んで、フォーム上にドロップします。

画面13 SQLConnectionコンポーネントをフォームに配置

 このコンポーネントをダブルクリックして、画面14で接続名「DB2Connection」を選び、接続の設定を行います。先ほど作成したDB2のサンプルデータベースを使うので、[Database]キーの値を「sample」にします。[User_Name]と[Password]は、接続時にプロンプトが出て入力することになりますが、一応ここでも設定しておきます。

画面14 dbExpress接続ダイアログ

 接続の確認のために、オブジェクトインスペクタで[Connected]プロパティを「true」に設定します。

画面15 SQLTableコンポーネントのプロパティ

 するとDB2へのログインダイアログが表示され、ユーザー名とパスワードを聞かれるので入力します。[OK]ボタンをクリックして、エラーがなければ接続成功です。

 Kylixを使ってプログラミングする際は、オブジェクトインスペクタでオブジェクトのプロパティや関連付けを設定していく作業が中心になります。

 次に、テーブルを指定するためにSQLTableコンポーネントをドロップします。データベースへの接続を設定する[SQLConnection]プロパティを先ほどの「SQLConnection1」にし、テーブルは[TableName]プロパティのリストから「STAFF」を選択します。最後に[Active]プロパティを「true」にします。この場合も、エラーがなければメッセージは何も出ません。

Data Accessコンポーネントの配置と設定

 Data Accessコンポーネントでデータを取り出し、表示コンポーネントにデータを渡す部分を作成します。まず[Data Access]タブからDataSetProviderコンポーネントをドロップし、[DataSet]プロパティを「SQLTable1」に設定します。

 次に、ClientDataSetコンポーネントをドロップし、DataSetProviderを使うために[ProviderName]プロパティを「DataSetProvider1」に設定します。

 最後に、DataSourceコンポーネントをドロップし、ClientDataSetを使うために[DataSet]プロパティを「ClientDataSet1」に設定します。

 これらの3コンポーネントは1つにまとめられそうに思えるかもしれません。しかし、分散環境の多層アプリケーションで利用することも考慮すると、複数のコンポーネントに分かれているのは理にかなっていることが分かります。

Data Controlsコンポーネントの配置と設定

 Data Controlsコンポーネントを使って、データを表示する部分を作成します。今回はExcelのような表形式でデータを表示できるDBGridコンポーネントを使ってデータを表示します。

 [Data Control]タブからDBGridコンポーネントをドロップし、大きさを調整します。

画面16 DBGridコンポーネントをフォームに配置したところ

 先ほどのDataSourceを使うので、[DataSource]プロパティを「DataSource1」に設定します。

 最後にClientDataSet1の[Active]プロパティを「true」にすると、DBGridにSTAFFテーブルのデータが表示されます。画面17のようにデータが表示されればアプリケーションの完成です。Kylixは、このように開発中の画面で実際のデータを確認しながらプログラミングすることが可能です。

画面17 STAFFテーブルのデータが表示される

 [実行]ボタンをクリックすると、アプリケーションをコンパイルして実行されます。

画面18 アプリケーションのコンパイルと実行

 以上で、コーディングは一切なしでDB2と連携するアプリケーションを作成することができました。

コマンドラインから実行するときの注意点

 コマンドラインからKylixで作成したアプリケーションを実行する場合は、Kylixのライブラリの場所を実行ユーザーの環境変数LD_LIBRARY_PATHに設定する必要があります。以下のように環境変数LD_LIBRARY_PATHに/usr/local/kylix3/binを追加し、.bash_profileに書き込んでおきます。

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/kylix3/bin

 これで、コマンドラインからでもアプリケーションを実行できます。

$ ./demo &

 今回はここまでです。いかがだったでしょうか? KylixのdbExpressコンポーネントを使うと、非常に簡単にデータベースアプリケーションを作ることができます。同様に、いろいろなコンポーネントを使うことで、WebアプリケーションやWebサービス・アプリケーションなども簡単に作成できます。

 次回は、Kylixのデータアクセス・コンポーネントdbExpressを使ったDB2データベース・プログラミングを、実際にWebアプリケーションを作りながら紹介していきます。WebサーバにApache 2.0、アプリケーションにApacheのDSO(Dynamic Shared Object)を用いることで、パフォーマンス的にも期待できるものを作りたいと思います。

3/3

Index
Kylix 3とDB2で作るWebサービス・アプリケーション
 第1回 開発環境の用意とテストアプリの作成
  Page 1
Kylix 3とDB2 V8.1の入手
 Kylix 3 Enterprise Edition
 DB2 V8.1
  Page 2
Kylix 3のインストールと設定
 Kylix 3のインストール
 Kylix 3の起動
DB2 V8.1のインストールと設定
 DB2 V8.1のインストール
 DB2インストール後の作業
 サンプルデータベースの作成
  Page 3
接続テストを兼ねたサンプル・アプリケーション
 プロジェクトの作成
 dbExpressコンポーネントの配置と設定
 Data Accessコンポーネントの配置と設定
 Data Controlsコンポーネントの配置と設定
 コマンドラインから実行するときの注意点

連載 Kylix 3とDB2で作るWebサービス・アプリ


 Linux Squareフォーラム プログラミング関連記事
特集:オブジェクト指向に生まれ変わるPHP5[前編]
現在開発中のPHP5は、オブジェクト指向機能が大幅に強化される。次世代PHPはどのような言語になるのか?
特集:Windows開発者に贈る Kylixの全貌
注目の開発環境「Borland Kylix」がいよいよ見えてきた。ここに、英語版の発売を目前に控えたKylixの機能やアーキテクチャを紹介しよう
特集:Kylixプログラミング作法
GUIの構築やコンポーネントとコードの関係、 Object Pascalの仕様など。 これらの点を、実際に日本語ベータ版でプログラミングしながら分かりやすく解説
連載:PHP4で作るWeb-DBシステム(全5回)
PHPはWebサーバとデータベースを結びつけるものだ。そのためPHPでの開発を開始するには、OS、データベース、Webサーバ、そしてPHPと、多くのソフトウェアのインストールを行う必要がある
連載:ステップ・バイ・ステップ・シェルスクリプト(全7回)
Linuxの中でシェルスクリプトはネットワークの設定、デーモンの起動など重要な役割を果たしている。この連載では、シェルスクリプトで実用的なプログラムを組むことを目標にして、シェルの基本的な知識を説明する
連載:Kylix 3とDB2で作るWebサービス・アプリ(全5回)
Kylix 3とDB2 V8.1を使って、Webサービス・アプリを作ってみよう。トライアル版も用意されているので、実際に試しながら読んでほしい

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間