システムインストール終了後、モデルアプリケーションを実行することができます。 インストールしたmsqlのバージョンやperlデータベースインターフェースに依存し し、サンプルプログラムを2〜3修正しなければいけません。
まず/home/httpd/html/にあるindex.htmlファイルがサンプルデータ
ベースアプリケーションを呼び出すように修正します。/home/httpd/html/test/のデータベース(アーカイブ名はperl.lst.ckですが、database.cgi
あるいはinventur.cgiと呼びます)に置き換えます。
index.htmlに一行を追加します(もちろん各自のインストールに合わせて下さい)。
<LI>Test the <A HREF="test/database.cgi">Database, DBI:DBD-mSQL style!</A> <LI>Test the <A HREF="test/inventur.cgi">Database, MsqlPerl style!</A>
サンプルスクリプトはMsqlPerlインターフェースを使うようにします。
そのために適当な箇所を書き換えます。はじめにファイルのはじめあたりのuse
指定を変更します。
# # use DBI; # Generisches Datenbank-Interface use Msql;
# $dbh = DBI->connect($host, $database, '', $driver) || $dbh = Msql->connect($host, $database) ||
doをqueryに変更します。
# $dbh->do("SELECT * FROM hw") || db_init($dbh);
$dbh->query("SELECT * FROM hw") || db_init($dbh);
# $sth->execute || msg("SQL Error:", $sth->errstr);
errmsgに対する前のコードフラグメントの一つのように全errstrコール
をスワップする必要があります。これはバージョンに依存するものです。
以上の作業が終了したらスクリプトはスムーズに実行されます。
SQL syntaxはmslq-2の開発中に再定義されました。オリジナルスクリプトは
45〜58行にテーブル初期化ステートメントを実行することはできません。
primary key modifierはmsql-2ではもうサポートされていません。
以下をスキップします:
    $dbh->do(<<EOT) || die $dbh->errstr; # Neue Personen-Tabelle 新規個人テーブル
        create table person (
# We do not need the 'primary key' modifier anymore in msql-2!
#           pn        int primary key,   # Personalnummer個人番号
            pn        int,               # Personalnummer
            name      char(80),          # Nachname, Vorname 姓、名
            raum      int                # Raumnummer空間番号
        )
EOT
    $dbh->do(<<EOT) || die $dbh->errstr; # Neue Hardware-Tabelle
        create table hw (
# We do not need the 'primary key' modifier anymore in msql-2!
#           asset int primary key,       # Inventurnummer 管理番号
            asset int,                   # Inventurnummer
            name   char(80),             # Bezeichnung 名称
            person int                   # Besitzer   所有者
        )
EOT
primary keyをこの動作を防ぐのに使います。msql-2ドキュメント
はCREATE INDEXが唯一のエントリ発行を閉じる方法について書かれています。