Frage stellen
0

Base setzt TIME-Feld immer auf 00:00:00

gefragt 2019-11-05 10:55:44 +0100

Micha122 Gravatar-Bild

updated 2019-11-06 13:00:30 +0100

Hallo, ich benutze die aktuelle LibreOffice Version (Windows x64) sowie mariadb-10.4.8-winx64. Egal ob ich in der Tabellenansicht oder in der Formularansicht versuche eine Uhrzeit zu schreiben, es funktioniert nicht. Base macht immer 00:00:00 draus. Was mache ich falsch?

Hier ein Bild

Bildbeschreibung

Es wir tatsächlich 00:00:00 in die Tabelle geschrieben. Dieser HeidiSQL Ausschnitt zeigt das:

Bildbeschreibung

Von HeidiSQL aus kann ich übrigens ganz normal mit der Tabelle arbeiten, die Zeiten werden korrekt geschrieben und angezeigt.

Habe mit Wireshark mal geschaut was Base für einen query sendet:

Statement: INSERT INTO "test"."timetest" ( "Zeit") VALUES ( ?)

Nachtrag 06.11.19: Ein Test

Betriebssysteme: Windows 10 Pro und MX Linux Version 19 x64 (VM)

Datenbank: MariaDB 10.4.8 wie gehabt auf Windows 10 Pro

LO-Version Windows: 6.3.3.2 (x64)

LO-Version Linux: 6.3.3.2 (x64)

Ergebnis:

Unter Linux funktioniert Base einwandfrei mit MariaDB.

Die Windows Version von Base verhält sich leider immer noch fehlerhaft.

Bearbeiten Tags ändern Melden schließen vereinen löschen

Kommentare

Hallo - ich bin gespannt, ob mit dieser Frage jemand ohne Kenntnis der Tabellendefinition des TIME-Feldes Deiner MariaDB Datenbanktabelle und Deinem Formular etwas Konkretes anfangen kann (es sei denn, er hatte exakt dasselbe Problem). Für mich jedenfalls sieht das Ganze nach einem typischen impliziten Text -> Zahl Konvertierungsproblem aus ("Interpretiere Text als 0 (Null)"). Soweit ich MariaDB verstanden habe, speichert diese eine TIME tatsächlich im Format hh:mm:ss, was aber für Base keine Zeit ist, da im ODF spezifiziert ist, dass eine Zeit ein Bruchteil eines Tages und damit eine Dezimalzahl ist. Damit muss Base eine Zeichenkette hh:mm:ss als Text interpretieren und das wäre dann ggfs. eine 0 (was in ODF der Zeit 00:00:00 entspräche). Aber ohne Kenntnis, was Du genau machst, ist das alles eigentlich Spekulation.

Bitte spezifiziere daher genauer was "Base macht immer 00:00:00 draus" bedeutet? Wann geschieht diese Konvertierung?

Opaque Gravatar-BildOpaque ( 2019-11-05 14:13:38 +0100 )Bearbeiten

Die Bilder helfen relativ wenig, da sie nichts über die Typendeklaration der Felder in der DB aussagen. Zumindest aber ist schon mal klar dass in der DB dann schon 00:00:00 drin steht und die Konvertierung (wenn denn) schon beim Schreiben erfolgt. Schreib' mal in Base bitte zu Testzwecken ein 0,5 in das Feld. Steht dann in der Datenbank 12:00:00 drin, ist es ein Konvertierungsproblem, wie oben beschrieben,

Opaque Gravatar-BildOpaque ( 2019-11-05 15:03:50 +0100 )Bearbeiten

INSERT INTO "test"."timetest" ( "Zeit") VALUES ( ?)

Da steht ja nichts!

Opaque Gravatar-BildOpaque ( 2019-11-05 15:18:33 +0100 )Bearbeiten

Schreib' mal in Base bitte zu Testzwecken ein 0,5 in das Feld. Steht dann in der Datenbank 12:00:00 drin, ist es ein Konvertierungsproblem, wie oben beschrieben,

Es bleibt bei 00:00:00

**INSERT INTO "test"."timetest" ( "Zeit") VALUES ( ?)

Da steht ja nichts!**

Ich kenne das mariaDB Protokol nicht, aber es sieht so aus als würden die Zeitwerte als Bindungvariablen übergeben.

Ist nur eine Vermutung, ich komme aus der PgSQL-Welt.

Micha122 Gravatar-BildMicha122 ( 2019-11-05 15:41:46 +0100 )Bearbeiten

MySQL und auch MariaDB funktionieren beide über den Eintrag 19:22:00. Muss korrekt sein.

Was bisher fehlt ist, wie denn die Verbindung zur MariaDB zustande kommt: Direkt (welche LO-Version?), JDBC (welcher Treiber genau) oder ODBC (Verbindungsparameter). Ohne diese Informationen ist das Ganze nicht nachvollziehbar.

Ich habe das hier mit OpenSUSE 15, LO 6.3.3.2 und allen 3 Verbindungsvarianten durch getestet und kein Fehlverhalten feststellen können. Die Zeiten werden, wie gewünscht, gespeichert.

RobertG Gravatar-BildRobertG ( 2019-11-05 16:44:36 +0100 )Bearbeiten

Hi RoberG, ich habe die direkte Verbindung zu MySQL gewählt.

 Direkt (welche LO-Version?),

Sorry, da wirst du mir etwas helfen müssen.:(

Ich bin ganz neu mit MySQL/MariaDB unterwegs.

Micha122 Gravatar-BildMicha122 ( 2019-11-05 18:01:44 +0100 )Bearbeiten

LO-Version: Erst seit der Version LO 6.2 liefert LibreOffice überhaupt einen direkten Treiber mit, der anfangs noch recht hakelig lief. Tabellen konnten z.B. gar nicht mit Inhalt (über die GUI) gefüllt werden.

Es könnte natürlich sein, dass da ein Unterschied zwischen Windows und Linux im Spiel ist. Ich habe mit der 64bit-rpm-Version beim direkten Treiber und LO 6.3.3.2 keine Probleme gehabt, Zeiten einzugeben und angezeigt zu bekommen.

RobertG Gravatar-BildRobertG ( 2019-11-05 19:38:04 +0100 )Bearbeiten

Ich probiere das morgen mal mit Linux(VM).

Auf jeden Fall mit Windows10, Lo Version: 6.3.3.2 (x64) sowie mariadb-10.4.8-winx64 ist nichts zu machen.

Ich hab das ganze auch nochmal mit HeidiSQL Konsole und GUI ausprobiert......keine Problem. Also an falsch konfigurierter Datenbank liegt das wohl eher nicht.

Micha122 Gravatar-BildMicha122 ( 2019-11-05 20:53:22 +0100 )Bearbeiten

Habe meinem Beitrag einen kleinen Test hinzugefügt.

Micha122 Gravatar-BildMicha122 ( 2019-11-06 13:01:10 +0100 )Bearbeiten

Bevor wir jetzt eine Bugmeldung aufmachen: Du hast unter Windows nicht (von früheren Versionen) die Extension für die direkte Verbindung installiert? Gab es ja auch, nur sollte die in den neueren LO-Versionen nicht mehr genutzt werden.

RobertG Gravatar-BildRobertG ( 2019-11-06 16:08:04 +0100 )Bearbeiten

1 Antwort

0

geantwortet 2019-11-08 11:20:50 +0100

Micha122 Gravatar-Bild

Damit das ganze hier jetzt nicht ganz untergeht, veröffentliche ich mein letztes Kommentar hier als Antwort.

Puuhh, Win10 auf einem alten IntelAtom und langsamer Festplatte aufzuspielen war jetzt wirklich eine Geduldsprobe. Aber egal, ich habs geschafft und dort auch LO und Maria DB installiert. Versionen und x64 Architektur bleibt alles wie gehabt.

Ergebnis: Keine Änderung!

Es kann also nur ein Bug in der Windows(x64)-Version sein.

Bearbeiten Melden löschen Link mehr

Kommentare

Ich habe den Bug jetzt gemeldet. Müsste allerdings noch jemand mit Windows-System bestätigen: Bug 128698

RobertG Gravatar-BildRobertG ( 2019-11-10 16:02:14 +0100 )Bearbeiten

Der Bug wurde bestätigt - auch für MAC. Allerdings mit einem besonderen Phänomen: Wenn die Tabelle bearbeitet und das Zeitfeld umbenannt wurde war plötzlich eine Eingabe möglich. Mal sehen, was das ergibt.

RobertG Gravatar-BildRobertG ( 2019-11-12 18:42:59 +0100 )Bearbeiten
Registrieren oder einloggen, um zu antworten

Antwortwerkzeuge

1 Beobachter

Statistik

Gefragt: 2019-11-05 10:55:44 +0100

Angesehen: 70 Mal

Aktualisiert: Nov 08