第2回 Kylixからデータベースを操作してみよう
中林 紀彦
日本アイ・ビー・エム株式会社
2003/1/15
Web-DBアプリケーション(DSO)の作成
Kylixを使ったデータベース・プログラミングのアーキテクチャについて一通り紹介しました。これを応用して、次は実際にWebアプリケーションを作成する手順について説明していきます。
■プロジェクトの準備
[ファイル]−[新規作成]−[その他]で「Webサーバーアプリケーション」を選択し、新しいプロジェクトを開始します。
サーバの種類は「Apache DSOモジュール」とし(画面6)、Nameプロパティをここでは「WebModule1」としました。モジュールのファイル名はWebModU.pas、プロジェクトのファイル名はSample.dprとして保存します。
画面6 Apache DSOモジュールを作成する |
次に、Sample.pasにあるApacheのモジュール名を以下のように変更します。
exports |
ここで変更した「Sample_module」は、後にApacheの設定で使用するものです。
■コンポーネントの配置と設定
WebModule1に[dbExpress]タブのSQLConnectionコンポーネントをドロップし、フォーム上にSQLConnectionコンポーネントを配置します。次に、コンポーネントをダブルクリックしてdbExpressの接続設定をします。ここでは、SAMPLEデータベースに接続するように設定しておきます(画面7)。
画面7 dbExpressの接続設定 |
LoginPromptのプロパティは「False」とし、Connectedプロパティを「True」に変更してDB2への接続を有効にします。
画面8 プロパティを設定する「オブジェクトインスペクタ」 |
今回のサンプルでは、EMPLOYEEテーブルからEMPNO、FIRSTNME、LASTNAMEを表示するだけなので、単方向データセットのSQLQueryを利用します。SQLQueryを配置したらSQLConnectionプロパティを「SQLConnection1」に設定し、SQLプロパティに「select empno, firstnme, lastname from employee」と入力します。
画面9 SQLプロパティの入力画面 |
次に、[Internet]タブからSQLQueryTableProducerコンポーネントを配置してQueryプロパティを「SQLQuery1」に設定します。SQLQuery1のActiveプロパティを「True」にすると、画面10のようにカラムがSQLQueryTableProducer1に追加されます。
画面10 オブジェクトツリーにカラムが追加された |
オブジェクトツリーで[WebModule1]−[Actions]を右クリックし、[項目の追加]でアクションを追加します。次にオブジェクトインスペクタでPathInfoプロパティを「/Table」、Producerプロパティを「SQLQueryTableProducer1」に設定します。
画面11 アクションのプロパティを設定 |
PathInfoには任意の値を指定でき、これがSQLQueryTableProducer1を表示する際のURLの一部になります。また、Defaultプロパティを「True」に設定して、このページがデフォルトで呼ばれるようにします。
■プロジェクトのコンパイル
[プロジェクト]−[Sampleをコンパイル]でプロジェクトをコンパイルします。コンパイルが終了すると、プロジェクトのディレクトリにlibSample.soというDSOモジュールが作成されます。
早速動かしてみたいところですが、その前にDSOアプリケーションを動かすためのApacheの準備が必要です。
Apacheの設定とアプリケーションの実行
■Apache 1.3のコンパイル
http://www.apache.org/dist/httpd/から最新のApacheをダウンロードし、インストールします。これはほかの記事でも紹介されていますので、ここでは手順を紹介するにとどめます。
$ tar zxvf apache_1.3.27.tar.gz |
■apachectl、httpd.confの編集
ApacheのhttpdからDB2にアクセスするため、/usr/local/apache/bin/apachectlにDB2の環境変数の設定を追加します。同時に、Kylixのライブラリを使うための記述を加えます。具体的には、/usr/local/apache/bin/apachectlの23行目に以下の行を追加します。
# The following three lines have been added by Kylix3. |
次に、/usr/local/apache/conf/httpd.confを編集して以下の行を追加します(デフォルトのhttpd.confでは205行目付近)。
LoadModule Sample_module libexec/libSample.so |
apachectlとhttpd.confの編集が終わったら、作成したlibWebDB2.soを/usr/local/apache/libexecへコピーします。
最後に、httpd.confのテストを行っておきましょう。
# /usr/local/apache/bin/apachectl configtest |
「Syntax OK」が返ってくれば問題ありません。
■アプリケーションの実行
Apacheを再起動します。
# /usr/local/apache/bin/apachectl restart |
次に、以下のURLにアクセスしてWebブラウザで確認します。
http://localhost:8080/Sample/Table |
画面12 作成したDSOモジュールを実行したところ |
以上で、Web-DB2アプリケーションが完成しました。今回は簡単な検索アプリケーションでしたが、UPDATE、INSERT、DELETEを使ったアプリケーションも同様に作ることができます。
|
3/4
|
|
||||||||
|
連載 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」コマンドです。
|
|