1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#!C:/Strawberry/perl/bin/perl use strict; use warnings; # Verbindung zur Datenbank use DBI; # Variablen definieren - Datenbank my $dbs_user = 'ODBCLX'; my $dbs_pw = 'xxxxxxx'; my ($dbs, $dbs_result, $statement); # Datenbankverbindungen herstellen $dbs = DBI->connect('DBI:ODBC:LXSYDSN',$dbs_user,$dbs_pw) or die "Couldn't connect to database:" . DBI->errstr; # Artikel einlesen und anzeigen my ($artikel_nr, $bezeichnung, $beschreibung, $bestand) = undef; $statement = "SELECT ArtikelNr, Menge_bestand, Bezeichnung FROM IQF3.FK_Artikel WHERE ArtikelNr = 'AGI01090'"; $dbs_result = $dbs->prepare ( qq {$statement} ); $dbs_result->execute(); while (($artikel_nr, $bestand, $bezeichnung, $beschreibung) = $dbs_result->fetchrow_array()) { print "\$artikel_nr\t: $artikel_nr\n"; print "\$bestand\t\t: $bestand\n"; print "\$bezeichnung\t: $bezeichnung\n"; print "\$beschreibung\t: "; if (defined $beschreibung) { print "$beschreibung"; } print "\n"; }
1
2
3
4
$artikel_nr : AGI01090
$bestand : 57
$bezeichnung : Poster A1-PremiumMandate
$beschreibung :
$statement = "SELECT ArtikelNr, Menge_bestand, Bezeichnung, Beschreibung FROM IQF3.FK_Artikel WHERE ArtikelNr = 'AGI01090'";
DBD::ODBC::st fetchrow_array failed: [Sybase][ODBC Driver]Ung³ltige Zeichenfolgen- oder Pufferlõnge (SQL-HY090) at C:\...\test-memo.pl line 26.
1 2
$dbs_result->{LongReadLen} = 255; # Anzahl Zeichen, die aus einem Memo-Feld eingelesen werden sollen; Default = 80; muss ein ungerader Wert sein $dbs_result->{LongTruncOk} = 1; # abschneiden nach {LongReadLen} Zeichen, sonst Error wenn Anzahl Zeichen > {LongReadLen}