第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
|
|
|
||||||
|
連載 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サービス・アプリを作ってみよう。トライアル版も用意されているので、実際に試しながら読んでほしい |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|