Ich hab ein weiteres Script, aber auf die gleiche Tabelle mit den Regeln angepasst:
Code:
#!/usr/bin/perl -w
use CGI qw(param);
use DBI;
use DBD::DB2::Constants;
use DBD::DB2;
# Ein Perl-Test f}r die "Info - HTML"
# $ich = param("wer");
# Test der DB Anbindung mit Perl auf AS/400
$dbh = DBI->connect("DBI:DB2:*LOCAL", "XXX", "XXX") or die "Ein Fehler: ".$dbh->err;
$sql = "select * from LIBRKML.TABELLE";
$sth = $dbh->prepare($sql) or die "Fehler: ".$sth->err;
$sth->execute() or die "Fehler bei Ausf}hrung: ".$sth->err;
print <<ENDE_HEAD;
Content-type: text/html
<html>
<head><title>Datenbanktest</title></head>
<body>
<table border='1'>
<tr><th>Name</th> <th>Vorname</th></tr>
ENDE_HEAD
while(my ($spalte1, $spalte2, $spalte3) = $sth->fetchrow_array())
{
print "<tr><td>".$spalte1."</td>\n";
print "<td>".$spalte2."</td>\n";
print "<td>".$spalte3."</td></tr>\n";
}
print "</table>\n";
print "</body>\n";
print "</html>";
und es dennoch gleich im QSH auf der Maschine ausführen lassen, mit dem gleichbleibenden Ergebnis:
Code:
perl -w /web/db2.pl
Subroutine bootstrap redefined at /usr/local/lib/perl5/5.00502/os400/DynaLoader.pm line 97.
Content-type: text/html
<html>
<head><title>Datenbanktest</title></head>
<body>
<table border='1'>
<tr><th>Name</th> <th>Vorname</th></tr>
<tr><td>1</td>
Use of uninitialized value at /web/db2.pl line 30.
<td></td>
Use of uninitialized value at /web/db2.pl line 31.
<td></td></tr>
</table>
</body>
</html>$
Und so sieht die Tabelle aus (ja, ich hab auch CCSID 65535 und 500 schon probiert):
Code:
Daten Feld Puffer Puffer Feld Spalte
Feld Art Länge Länge Position Verwend. Überschrift
LFDN GEPACK 3 0 2 1 Beide LFDN
Nullwert zugelassen
NAME ZCHN 20 20 3 Beide NAME
Nullwert zugelassen
ID des codierten Zeichensatzes . . . . . : 37
VNAME ZCHN 20 22 23 Beide VNAME
Feld variabler Länge -- Zugeordnete Länge: Keine
Nullwert zugelassen
ID des codierten Zeichensatzes . . . . . : 37
Bookmarks