Thread Memo-Feld aus Datenbank einlesen (10 answers)
Opened by Stefan_S at 2016-08-25 13:37

Stefan_S
 2016-08-25 13:37
#185291 #185291
User since
2014-04-15
30 Artikel
BenutzerIn
[default_avatar]
Servus,

unsere Warenwirtschaft verwendet eine Sybase-Datenbank. Auf diese Datenbank habe ich per ODBC Lesezugriff.

Mit nachstehendem Code lese ich (hier verkürzt) Artikelstammdaten aus.

Code (perl): (dl )
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";
}


Die Ausgabe sieht so aus:

Code: (dl )
1
2
3
4
$artikel_nr	: AGI01090
$bestand : 57
$bezeichnung : Poster A1-PremiumMandate
$beschreibung :


Wenn ich nun in Zeile 19 das Feld 'Beschreibung' in der Quelle ergänze:

Code (perl): (dl )
$statement = "SELECT ArtikelNr, Menge_bestand, Bezeichnung, Beschreibung FROM IQF3.FK_Artikel WHERE ArtikelNr = 'AGI01090'";


erhalte ich folgende Fehlermeldung:

Code: (dl )
DBD::ODBC::st fetchrow_array failed: [Sybase][ODBC Driver]Ung³ltige Zeichenfolgen- oder Pufferlõnge (SQL-HY090) at C:\...\test-memo.pl line 26.


Mir ist aufgefallen, dass das Feld 'Beschreibung' in der Quelle als Feldtyp=Memo definiert ist, alle anderen Felder als Feldtyp=Text.

Wie kann ich das Memofeld einlesen?

Viele Grüße Stefan 25.08.16
Last edited: 2016-11-24 16:02:35 +0100 (CET)

View full thread Memo-Feld aus Datenbank einlesen