[GastForen Archiv Perl und CGI mySQL: Too many connections

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

mySQL: Too many connections

trueprojects
Beiträge gesamt:

29. Nov 2005, 23:05
Beitrag # 1 von 3
Bewertung:
(25118 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Abend,
ich erhalte folgende Fehlermeldung:

Software error:
Kann keine Verbindung zur Datenbank herstellen: Too many connections at script.pl line 9.

Line 9 im Script stellt die Verbindung zur Datenbank her. Hier das Script (gekürzt):
Code
#!/usr/bin/perl 
# Einbinden der Module
use CGI::Carp qw(fatalsToBrowser);
use strict;
use CGI;
use DBI;

# Verbindung zur Datenbank herstellen
my $db=DBI->connect('dbi:mysql:Datenbankname', 'Benutzername', 'Passwort') || die "Kann keine Verbindung zur Datenbank herstellen: $DBI::errstr";
my $http=new CGI;

my $von_stunde='20';
my $bis_stunde='21';

print "Content-type: text/html\n\n";

my $query = $db->prepare("select DATE_FORMAT(tabA.Datum, '%H:%i'), tabB.Titel_de
FROM tabA, tabB
WHERE (tabA.Datum BETWEEN (interval ? hour + current_date) AND (interval ? hour + current_date))
AND (tabA.ID = tabB.ID)
ORDER BY tabA.Datum");

print $db->errstr; #Errorstring
$query->execute($von_stunde, $bis_stunde);


while(my @daten = $query->fetchrow_array){

# ---> Sonderzeichen escapen
@daten = map CGI::escapeHTML($_), @daten;

print [..]
}

# Datenbank-Verbindung beenden
$db->disconnect();

exit;


Wo steckt der Fehlerteufel? Muss ich mich an den Provider wenden?
X

mySQL: Too many connections

oesi50
  
Beiträge gesamt: 2315

29. Nov 2005, 23:30
Beitrag # 2 von 3
Beitrag ID: #198462
Bewertung:
(25098 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo Hanü,

da wirst du wohl deinen Provider bemühen müssen.

Wenn dort virtuelle Hosts verwendet werden, gibt es immer Probleme mit PHP-Scripten, die die Datenbankverbindung nicht schließen(persistent connections) irgendwann ist dann das Limit für den Mysql-Server erreicht und nichts geht mehr.

Dein Provider soll entweder die Anzahl der erlaubten Verbindungen für MySQL erhöhen oder in der php.ini die persistenten connections (mysql.allow_persistent = off) abschalten.

Allerdings gibt es auch noch die Möglichkeit, daß dein Script nicht bis zum Ende durchläuft und dadurch mit einer offenen MySQL Verbindung stehen bleibt. Irgendwann ist dann auch Schluss.
Das solltest du natürlich ausschließen.


als Antwort auf: [#198459]

mySQL: Too many connections

trueprojects
Beiträge gesamt:

26. Dez 2005, 03:35
Beitrag # 3 von 3
Beitrag ID: #202189
Bewertung:
(24963 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
War ein Problem seitens des Providers. Danke.


als Antwort auf: [#198462]