Hi,
I have a problem,
Table Person existed with
Vorname, Nachname, Ort
Thomas Rohn Hamburg
OK
Code:
#C:\Daten\tr> testdb.pl (Windows Programmaufruf)
#Compilerpragma strict um keine Fehler zu machen
#Einbinden des DBI-Moduls
use strict;
use DBI;
#Attribute f� rDBI->connect(), Unterdr�ckung der automatischen Fehlerbehandlun
my %attr =
(
PrintError => 1, #Ausgabe von Fehlermeldungen �ber warn()
RaiseError => 0, #Keine Fehlerbehandlung durch Aufruf von die()
);
#Entferne eventuel vorhandene Protokolldateien
unlink 'dbitrace.log' if -e 'dbitrace.log';
#Ein String mit Sonderzeichen (zum Test noch ohne Sonderzeichen)
my $string = "Thomas";
#Data Source Name = Parameter f�r Verbindungsaufbau
#(DBI:Treiber:Datenbank-Name[:Host-Name:Port-Nummer des Datenbankservers])
my ( @row,);
my $dsn = 'DBI:ODBC:TEST2';
#Verbinden mit der SAP DB, �bergabe DSN als Argument, Benutzer mit Password,
#Fehlerbehandlung
my $dbh = DBI->connect( $dsn, 'DBA','DBA', \%attr )
or die "Error connecting to my $dsn: $DBI::errstr \n";
#Konvertierung des einzuf�genden Strings
my $quoteString = $dbh->quote( $string );
#Setze den Protokollierungsgrad 4 (h�chste) und rufe prepare() auf
DBI->trace(2, 'dbitrace.log' );
my $sth = doPrepare();
#----------------------------------------------------------------------------------------
#SQL Abfrage zur Ausf�hrung vorbereiten, konvertierte String wird mit eingebaut
#SQL Abfrage ausf�hren
#----------------------------------------------------------------------------------------
sub doPrepare
{
print "Vorbereitung und Ausfuehrung einer Abfrage\n";
# print $quoteString."\n";
my $sth = $dbh->prepare( "SELECT * FROM PERSON" )
or die "Error preperation: ", $dbh->errstr(), "\n";
# or die "Error preperation to my $dsn: $dbh::errstr \n";
$sth->execute()
or die "Error execute: ", $sth->errstr(), "\n";
return $sth;
while ( @row = $sth->fetchrow_arrayref() )
{
print "Datenzeile: @row\n";
}
warn " Error in fetchrow_arrayref(): ", $sth->errstr(), "\n"
if $sth->err();
}
#----------------------------------------------------------------------------------------
# Abmelden von der Datenbank oder Fehler
#----------------------------------------------------------------------------------------
$dbh->disconnect or warn "Error with the connecting: ", $dbh->errstr(), "\n";
exit;
ERROR Message:
Vorbereitung und Ausfuehrung einer Abfrage
DBD::ODBC::db prepare failed: [SAP AG][SQLOD32 DLL][SAP DB]Syntax error or acces
s violation;-3008 POS(10) Invalid keyword or missing delimiter. (SQL-42000)(DBD:
st_prepare/SQLPrepare err=-1) at C:\Daten\tr\select.pl line 44.
Error preperation: [SAP AG][SQLOD32 DLL][SAP DB]Syntax error or access violation
;-3008 POS(10) Invalid keyword or missing delimiter. (SQL-42000)(DBD: st_prepare
/SQLPrepare err=-1)
Does someone have an executable program in Perl as example??
MfG Thomas
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general