Thread keine Verbindung zur DB (26 answers)
Opened by maryl at 2010-08-13 11:52

maryl
 2010-08-13 11:52
#140625 #140625
User since
2010-08-11
11 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich versuch eine Verbindung zu einer Access Datenbank herzustellen.
Grundsätzlich soll es so laufen:
1.Eingabe einer Kudenummer im einem HTML Suchformular
2.Aufruf des Perl-Scripts und Kundennummer in Access Datenbank suchen.
3.Tabellarische Ausgabe und Erstellung einer Rechnung.txt

Mein Problem ist es, überhaupt eine Verbindung zur DB zu bekommen. Ich kommt immer Internal ERROR 500

[Fri Aug 13 11:33:01 2010] [error] [client 127.0.0.1] D:/SGD/Apache2/cgi-bin/Aufgabe2.pl is not executable; ensure interpreted scripts have "#!" first line, referer: http://localhost/Aufgabe2.html
[Fri Aug 13 11:33:01 2010] [error] [client 127.0.0.1] (9)Bad file descriptor: don't know how to spawn child process: D:/SGD/Apache2/cgi-bin/Aufgabe2.pl, referer: http://localhost/Aufgabe2.html


Vielleicht habt ihr ja einen Rat. Vielen Dank

maryl

Code: (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 


#! c:/perl/bin/perl -w


use CGI qw(:standard);
use strict;
use CGI::Carp qw/fatalsToBrowser/;

use DBI;

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = gmtime(time);

$mon++;
$year += 1900;

my $dbh = DBI->connect('DBI:ODBC:db1') or die "Fehler beim Connect:",$DBI::errstr;

my $sqlstatement = "SELECT Tabelle1.Kundennummer, Tabelle2.Rechnungsbetrag FROM Adressen INNER JOIN Tabelle2 ON Tabelle1.Kundennummer = Tabelle2.Kundennummer WHERE Tabelle1.Kundennummer =?";

my $sth = $dbh->prepare($sqlstatement) or die $DBI::errstr;
$sth->execute (param('Kundennummer')) or die $dbh->errstr;

print header(-type => 'text/html'), start_html(-title => 'Auswahl');
#print header(-type => 'text/html'), kundensuche(-title => 'Auswahl');

print h3('Ergebnis'), hr();

my @row = ();
my $i = 1;
print '<table>';
while (@row=$sth->fetchrow_array()){
print '<tr>';
print '<td>',$_,'</td>' for(@row);
print '</tr>';

my $rechnung = 'd:\\SGD\\Apache2\\htdocs\\rechnung'.$i.'.txt';
open(DATEI,">$rechnung") or print $!;


print DATEI "Rechnungsnummer:\t\RE4711\t\vom: $mday\.$mon\.$year\n\n\n";
print DATEI "Kundennummer: $row[0]\n\n";
print DATEI $row[3],"\n\n";
print DATEI $row[2],"\n\n";
print DATEI $row[1],"\n\n";
print DATEI "Telefonnummer: $row[4] \n\n\n\n\n";
#print DATEI $row[2]," ",$row[3],"\n" x 7;
print DATEI "-" x 34 ,"\n";
print DATEI "Rechnungsbetrag:\t","\n
print DATEI "-" x 34 ,"\n\n";
print DATEI "Mit freundlichen Grüßen\nIhre Webfirma";
close DATEI;
$i++;
}
print '</table>';

print "</body>\n</html>";

View full thread keine Verbindung zur DB