Apr�s avoir termin� la proc�dure d'installation, nous pouvons maintenant lancer l'application donn�e en exemple. En fonction de la version de msql install�e et de l'interface perl utilis�e, nous devrons modifier un peu ce programme.
Tout d'abord, le fichier index.html
, dans le r�pertoire /home/httpd/html/
doit �tre modifi� pour appeler
l'application exemple. Nous pouvons mettre notre base (que nous pouvons appeler database.cgi
ou inventur.cgi
)
dans /home/httpd/html/test
.
Nous ajoutons une ligne parmi les suivantes dans index.html
(� choisir, bien s�r, en fonction des choix d'installation) :
<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>
Vous ne devez en principe choisir qu'une seule des deux lignes pr�c�dentes, mais vous pouvez, si vous avez install� les deux types d'interface, laisser les deux lignes telles quelles. Vous pourrez alors comparer les performances.
Il est n�cessaire d'indiquer, dans notre exemple de script, qu'il faut utiliser l'interface MsqlPerl. La modification doit
�tre faite � plusieurs endroits. D'abord, au d�but du fichier, il faut changer la clause use
:
# use DBI; # Generisches Datebank-Interface
use Msql;
Ensuite, � la ligne 27, MsqlPerl n'exige pas la mention d'un pilote particulier :
# $dbh = DBI->connect($host, $database, '', $driver) ||
$dbh = Msql->connect($host, $database) ||
A partir de la ligne 33 et pour tout le script, changez toutes les occurrences de do
par query
:
# $dbh->do("SELECT * FROM hw") || db_init($dbh);
$dbh->query("SELECT * FROM hw") || db_init($dbh);
Enfin, dans le laius MsqlPerl, la ligne 207 peut �tre mise en commentaire :
# $sth->execute || msg("SQL Error: $sth->errstr);
De plus, il peut �tre n�cessaire de remplacer tout les appels errstr
tels que celui de la ligne pr�c�dente par
errmsg
. Cela d�pend de la version utilis�e.
Apr�s ces modifications, le script doit tourner correctement.
La syntaxe SQL a subi des changements durant le d�veloppement de msql-2. Le script original n'ex�cutera pas les
instructions d'initialisation de la table, aux lignes 45 -- 48. Le modificateur primary key
n'est plus compris
par msql-2, et doit �tre supprim� :
$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
Malheureusement, ce script particulier acceptera maintenant les enregistrements avec des num�ros personnels
identiques ; le modificateur msql-1 primary key
�tait justement l� pour �viter cela. La documentation
msql2 indique comment utiliser la clause CREATE INDEX
pour cr�er des entr�es uniques.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:16