UltraDeveloper

UltraDevで ASP + MySQL!!

作成:2001.10.07/更新:2001.10.11



UltraDeveloperとは

インターフェースや操作がDreamweaverにそっくりの為どこが違うのか分かりにくいが、DereamweaverのHTMLエディター機能にプラスしてASPを使ったサーバーサイドで処理される動的なページを、簡単な操作で作成することが出来る機能を加えた、動的Webサイト構築の為の開発環境。ASPのコーディングを意識することなく、あらかじめ用意されたビヘイビアを使って動的サイトを構築できる。ASPの他にJSP、ColdFusionなどのアプリケーションサーバーのビヘイビアも用意されている。ビヘイビアを追加することでその他のアプリケーションサーバーにも対応可能である。

■Macromedia Exchange for Dreamweaver UltraDev

http://www.macromedia.com/exchange/ultradev/

 

参考サイト

 

動的なサイトを作る組合せ

Webアプリケーションサーバーを使った動的なWebサイトを構築するにはいくつかの組合せがあるが、今回はWindowsの環境で手軽に試してみることが出来る、IIS5.0+ASP+MySQLを選択した。IISはWindows2000Proに標準で付いている。MySQLはインターネット上から無料で手に入れることが出来る。またスクリプティングエンジンとしては、標準で用意されるVBScriptを選択した。

テスト環境について

作業環境は以下の通り。

 

データベースを使ったサイト構築の流れ

基本的なサイト構築の流れ。

 

IISの準備

ASPを使った動的なサイト構築には、IIS5.0などのASPエンジンを組み込んだWebサーバーが必要になる。Windows2000Proには標準でIIS5.0がインストールされているので、ローカルの環境でテストを行なうには最適である。ローカルでWebアプリケーションの開発ができれば、ASPをサポートしているホスティングサービスでそのままそれを動かすことも可能になる。また社内のイントラネットとしてそのまま公開することもできる。

●ユーザーディレクトリの用意

始めにユーザーディレクトリを作る必要がある。その後、そのディレクトリを仮想ディレクトリとしてマッピングすることで、Webブラウザからhttp://localhost/yoshida/としてアクセス可能となる。今回はWebサーバーをローカルマシンで動作させるので、エクスプローラーから新規ディレクトリを作成する。私は「D:\ASP\yoshida\public_html」とした。このディレクトリがユーザーのホームディレクトリとなるように仮想ディレクトリとして登録すればOKだ。

●仮想ディレクトリへのマッピング

管理ツールから「インターネットインフォメーションサービス」を実行する。「規定のWebサイト」を選択して操作メーニューから新規作成:仮想ディレクトリを選択する。仮想ディレクトリウィザードが起動する。エイリアスにつけた名前でブラウザからアクセスすることになる。ここでは「yoshida」とした。ディレクトリには先ほど用意したユーザーディレクトリを指定する。私の場合は「D:\ASP\yoshida\public_html」になる。ASPの実行を許可して完了する。さっそくブラウザでアクセスしてみよう。「http://localhost/yoshida/」と入力してみる。ディレクトリは空なので「HTTP エラー 403 - アクセス不可 」が表示される。「サーバーが見つかりません」と出たなら、IISが起動していない。

●IISの起動

「インターネットインフォメーションサービス」を実行し、「規定のWebサイト」を選択して操作メニューから開始を選択する。起動に失敗するときには、IISは標準で80番のポートを使って動作するので、同じポートを使ったサービスが稼動していないかを確認する。

●ユーザーサイトプロパティの定義

ユーザーディレクトリにアクセスして表示されるファイルのデフォルトの設定は、「Default.htm、Default.asp、iisstart.asp」となっている。これに「index.htm、index.html」を追加するにはプロパティのドキュメントにて追加することで可能になる。

 

MySQLの準備

今回はデータベースにMySQLを選択した。無料で利用できることも利点のひとつだが、データベースサーバーを導入する際の基本が学べることも大きい。インストールに始まり、ユーザーの登録、SQLによるテーブルへの問合せ、データのバックアップといった他のデータベースサーバーを導入する際にも役立つことが学べるだろう。

MySQLのインストール

●ShiftJIS文字コードに対応させる

「my.cnf」に文字コードを指定する。変更後にMySQLサーバーを再起動させる。

[mysqld]
default-character-set=sjis

[mysqldump]
default-character-set=sjis

[mysql]
default-character-set=sjis

 

●MyODBCのインストール

ShiftJISに対応したドライバをインストールします。今回は「myodbc-2.50.29-jp.zip」をダウンロードして解凍後にインストーラーでインストールを行なった。

■(株)ソフトエージェンシー http://www.softagency.co.jp/

 

●データベースの作成

テーブルの作成に入る前にデータベースを作成する必要があります。デフォルトではユーザーを管理するmysqlデータベースとtestデータベースが用意されています。今回は「mydb」データベースを作成します。

mysql> create database mydb;

 

●登録ユーザーを表示する

「root」ユーザーでログインして「mysql」データベースの「user」テーブルを「select」します。

> mysql -u root -ppassword
mysql> use mysql
mysql> select * from user;

 

●ユーザーの作成

データベースを操作するMySQLユーザーを追加します。インストール直後はrootユーザーと匿名ユーザーが登録されています。今回は「mydb」データベースの全てのテーブルに対して「select、insert、update、delete」の権限をもたせた「mysql」ユーザーを作成した。

mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON mydb.* TO mysql@localhost IDENTIFIED BY 'password';

※rootユーザーと匿名ユーザーにはパスワードが設定されていませんので、外部にデータベースを公開する時にはセキュリティの為にもパスワードを登録する必要があります。

「mysql」ユーザーでログインするには下記のように入力します。-pの後にはスペースが入らないことに注意する。

> mysql -u mysql -h localhost -ppasswd

 

●テスト用テーブルの作成

データベースの表示用にテストテーブルを作ってみます。「mydb」データベースに「test」テーブルを作成します。

mysql> create table test ( id char(4), data varchar(100) );

この時、SQL文を記述したファイルを用意してリダイレクトで読み込ませると便利です。後でDROPTABLEしてテーブルの再作成を行なうときなどに使えます。

※「test.sql」ファイルに上記SQL文を記述しておく。
> mysql -u root -ppassword mydb < test.sql

 

●テーブルレイアウトを表示する

テーブルレイアウトの確認をします。

mysql> describe test;

 

●テストテーブルにデータを追加する

INSERT INTO test VALUES ('0001','ああああああああああ');
INSERT INTO test VALUES ('0002','いいいいいいいいいい');
INSERT INTO test VALUES ('0003','うううううううううう');
INSERT INTO test VALUES ('0004','ええええええええええ');
INSERT INTO test VALUES ('0005','おおおおおおおおおお');

 

●データベース一覧の表示

>mysql -u root -ppassword
mysql>show databases;

●テーブル一覧の表示

mysql> use mydb;
mysql> show tables;

●現在のログインユーザー情報を表示

mysql> status

●テーブルのバックアップを取る

テーブルを作成した後はバックアップをとるようにしておくとリカバリに便利です。

> mysqldump mydb test ※確認します。
> mysqldump mydb test > test.dump ※「test.dump」にリダイレクトしてバックアップします。

●データベースのバックアップを取る

「mydb」データベースをバックアップします。

>mysqldump --databases mydb
>mysqldump --databases mydb > mydb.dump

 

●ユーザーデータベースの変更を即時反映させる

>mysqladmin reload

または、

mysql> FLUSH PRIVILEGES

 

テストデータベースを表示してみる

 

 

 

 

MainMenuへ戻る