Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Differenz von 15-35 Sek. zw. NOW() in MySQL und Delphi (https://www.delphipraxis.net/141882-differenz-von-15-35-sek-zw-now-mysql-und-delphi.html)

Flocke 18. Okt 2009 14:30

Datenbank: MySQL • Version: 5.1.37 • Zugriff über: Delphi:ODBC, HeidiSQL

Differenz von 15-35 Sek. zw. NOW() in MySQL und Delphi
 
Differenz von 15-35 Sek. zw. NOW() in MySQL und Delphi auf derselben Maschine

Hallo zusammen,

habe hier gerade das seltsame Problem, dass mir mein lokaler MySQL-Server (zusammen mit dem XAMPP-Paket installiert) bei NOW() eine andere Uhrzeit liefert als die wirkliche lokale Uhrzeit ist bzw. die Funktion Now in Delphi. Dabei handelt es sich aber nicht um eine erklärbare Differenz wie 1 Stunde, sondern sie schwankt offenbar ständig zwischen 15 und 35 Sekunden.

Hat einer von euch dieses Phänomen ebenfalls schon einmal beobachtet?

Hintergrund ist, dass ich die Funktion NOW() für die Zeitstempel benutze, die ich bei der Synchronisation zweier Datenbanken benutze. Damit dabei keine Fehler auftreten, prüfe ich vorher beide Datenbanken darauf, dass die Abweichung der DB-Server-Uhrzeit von der lokalen Uhrzeit unterhalb einer gewissen Toleranzgrenze liegen. Bei einer lokalen DB bin ich eigentlich von einer Differenz von 0-1 Sekunden ausgegangen (bzw. der Dauer des Aufrufs).

Ich habe die Synchronisation zuletzt vor einigen Monaten getestet. Zu der Zeit kann es sich sowohl noch um mein 32-Bit XP-System gehandelt haben wie auch eine andere MySQL-Version.

System: Windows 7 x64
Alle beteiligten Prozesse sind 32-bittig.

----------------------------------------------------------------------
Nachtrag:

Gerade noch einmal ein altes XAMPP ausgegraben mit MySQL 5.0.45 und siehe da: es funktioniert. Wie erwartet stimmt "SELECT NOW()" mit der lokalen Uhrzeit überein. Danach noch einmal gegen-gecheckt: mit MySQL 5.1.37 habe ich eine Zeitdifferenz von (aktuell) 24 Sekunden.

Assertor 18. Okt 2009 15:05

Re: Differenz von 15-35 Sek. zw. NOW() in MySQL und Delphi
 
Hi Flocke,

vielleicht hilft Dir das weiter:
http://bugs.mysql.com/bug.php?id=40230

Gruß Assertor

Flocke 18. Okt 2009 16:06

Re: Differenz von 15-35 Sek. zw. NOW() in MySQL und Delphi
 
Danke, das hat geholfen :thumb:

Zusammenfassung:
Wenn der MySQL-Server und das Betriebssystem sich nicht einig sind über die Berechnung von Schaltsekunden, dann gibt's Probleme. Das Statement:
SQL-Code:
UPDATE mysql.time_zone SET Use_leap_seconds='N'
in Kombination mit einem Server-Neustart hat geholfen.

Assertor 18. Okt 2009 18:34

Re: Differenz von 15-35 Sek. zw. NOW() in MySQL und Delphi
 
Hi Flocke,

Zitat:

Zitat von Flocke
Danke, das hat geholfen :thumb:

Freut mich, gerne! :)

:dp:

Gruß Assertor


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz