PHP <--> MS SQL: Laufzeitprobleme
am 11.11.2004 19:03:22 von Ralph Bergmann
Hallo!
Der Betreff "Laufzeitprobleme" ist nicht ganz richtig nur so recht fällt
mir kein besserer Betreff ein... aber fang ich mal an
Folgende Situation:
Ich habe in einer MS SQL 2000 DB einen Datensatz.
Nun kommt ein Script, welches diesen Datensatz aktualisiert (per
UPDATE). Danach wird durch selbes Script ein Objekt einer Klasse
erstellt. In diesem Objekt befindet sich der komplette Datensatz (eine
Methode der Klasse ließt ihn aus der DB aus). Auftrag der Klasse ist es,
den Datensatz formatiert in 2 Textdateien abzulegen, was sie auch macht.
Mein Problem:
Das SELECT der Klasse bekommt nicht den kompletten/aktuellen Datensatz
vom SQL Server. Es fehlen Daten bzw. sind nicht aktuell. Schau ich mir
danach die Daten direkt im Server an, dann sind sie dort alle vorhanden
und auch alle aktualisiert.
Meine Lösungsversuche:
Zwischen dem UPDATE des Scriptes und dem SELECT der Klasse ein sleep(5).
Brachte kein Erfolg.
Nach dem UPDATE die Verbindung zum SQL Server beenden und vor dem SELECT
neu aufbauen. Brachte auch kein Erfolg.
Woran kann es liegen, dass die Klasse nicht die aktuellen Daten vom SQL
Server bekommt?
Hat PHP und/oder der SQL Server für SQL Anfragen eine Art Cache?
Hat jemand eine Idee woran dies liegen kann?
Hab ich ein MS SQL Problem, welches ich in der entsprechenden Newsgroup
nochmal einstellen sollte?
Für die SQL Abfragen nutze ich PEAR::DB
Ralph
Re: PHP <--> MS SQL: Laufzeitprobleme
am 12.11.2004 19:33:15 von Stefan Hegenbart
Ralph Bergmann wrote:
> Hallo!
>
> Der Betreff "Laufzeitprobleme" ist nicht ganz richtig nur so recht fällt
> mir kein besserer Betreff ein... aber fang ich mal an
>
>
> Folgende Situation:
> Ich habe in einer MS SQL 2000 DB einen Datensatz.
> Nun kommt ein Script, welches diesen Datensatz aktualisiert (per
> UPDATE). Danach wird durch selbes Script ein Objekt einer Klasse
> erstellt. In diesem Objekt befindet sich der komplette Datensatz (eine
> Methode der Klasse ließt ihn aus der DB aus). Auftrag der Klasse ist es,
> den Datensatz formatiert in 2 Textdateien abzulegen, was sie auch macht.
>
> Mein Problem:
> Das SELECT der Klasse bekommt nicht den kompletten/aktuellen Datensatz
> vom SQL Server. Es fehlen Daten bzw. sind nicht aktuell. Schau ich mir
> danach die Daten direkt im Server an, dann sind sie dort alle vorhanden
> und auch alle aktualisiert.
>
> Meine Lösungsversuche:
> Zwischen dem UPDATE des Scriptes und dem SELECT der Klasse ein sleep(5).
> Brachte kein Erfolg.
> Nach dem UPDATE die Verbindung zum SQL Server beenden und vor dem SELECT
> neu aufbauen. Brachte auch kein Erfolg.
>
> Woran kann es liegen, dass die Klasse nicht die aktuellen Daten vom SQL
> Server bekommt?
> Hat PHP und/oder der SQL Server für SQL Anfragen eine Art Cache?
>
> Hat jemand eine Idee woran dies liegen kann?
> Hab ich ein MS SQL Problem, welches ich in der entsprechenden Newsgroup
> nochmal einstellen sollte?
>
> Für die SQL Abfragen nutze ich PEAR::DB
>
>
> Ralph
ein schuss ins blaue:
Viele Datenbanken unterstuetzen ein Schreiben der Daten in einen Cache -
erst nachdem ein "commit" gesendet wurde, werden die Änderungen in die
entspr. Dateien geschrieben.
Vielleicht fehlt bei dir einfach der Commit nach dem Updaten?
mfg
SH
--
"The goal of Computer Science is to build something that will last at
least until we've finished building it." -- unknown