❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Firebird mit LO-Base über ODBC - Integer-Eingaben unmöglich

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Firebird mit LO-Base über ODBC - Integer-Eingaben unmöglich

Beitrag von RobertG » So 21. Jul 2013, 09:47

Hallo *,

ich versuche seit einiger Zeit, die externe Datenbank "Firebird" mit LO-Base erfolgreich zu verbinden. Mit dem JDBC-Connector bekomme ich das halbwegs hin. Da muss lediglich beim Erstellen von Tabellen darauf geachtet werden, dass die Formatierung des Feldes mit dem Feldtyp übereinstimmt (macht z.B. grundsätzlich bei allen Zahlentypen einen Währungstyp - wenn das nicht direkt bei der Tabellenerstellung drauf geachtet wird, dann steht da nicht ID = 1, sonder ID = 1,00 €).

Probleme habe ich bei der Verbindung mit ODBC. Ich habe hier einen Linux-Rechner (OpenSUSE 12.3 64bit rpm). Ich bekomme die Verbindung auf der Konsole mit isql anstandslos hin, kann dort auch Daten eingeben und auslesen. Sobald ich aber mit Base über ODBC auf Firebird zugreife erscheinen zwei der vier Tabellen schreibgeschützt. Die nicht schreibgeschützten Tabellen sind komplett in Großbuchstaben geschrieben. Scheint in der Beziehung also schon einmal ein Problem der Quotierung mit " " zu sein. Gehe ich in die nicht schreibgeschützten Tabellen und versuche dort Eingaben zu tätigen, so werde ich jedes Mal rausgeschmissen mit der Warnung, dass der Primärschlüssel Null wäre (value "*** null ***").
Möchte ich eine Tabelle zum Bearbeiten öffnen oder eine neue Tabelle gründen, so stürzt LO gnadenlos ab.
Noch schlimmer ist es, wenn ich den Kontakt zu Base mit einer LO-Version 3.* versuche zu öffnen (oder auch der AOO 4 rc). Dann dreht sich die Eieruhr und nichts passiert. Ich kann die Prozesse schließlich nur noch killen.

Meine odbc.ini sieht inzwischen so aus:

Code: Alles auswählen

[Firebird-libretest]
Description 	= Firebird database libreoffice test
Driver          = Firebird
Dbname          = localhost:libretest.fdb
# Client 		=
# Role            =
# CharacterSet    = UTF-8
# ReadOnly        = No
# NoWait          = No
# Dialect 	= 3
# QuotedIdentifier = Yes
# SensitiveIdentifier = No
# AutoQuotedIdentifier = No
Ich habe aus dem dem Treiber beiliegenden Vorschlag (Sourcecode → Linux) mit der Zeit alle Variablen entfernt. Mit isql läuft das Ganze weiter, mit Base leider auch keine Änderung.

Erste Ergänzung:

Code: Alles auswählen

SensitiveIdentifier = Yes
- diese Einstellungen zeigen alle Tabellen ohne Schreibschutz.
Das Einfügen ist mir bisher aber nur bei Primärschlüsseln des Typs VARCHAR gelungen. Andere Tabellen verweigern den Dienst mit der "*** null ***"- Warnung wie oben beschrieben.

Ich habe entsprechend den Betreff geändert.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

pmoegenb

Re: Firebird mit LO-Base über ODBC - Integer-Eingaben unmögl

Beitrag von pmoegenb » Mo 29. Jul 2013, 11:50

Hallo Robert,
ich habe mal versucht mittels ODBC (Version 2.0.2) auf eine Firebird_Embed-DB (Version 2.5.2) zu zugreifen. Mit der folgenden Einstellung hat es dann letztendlich geklappt:
2013-07-29 11_53_34-Firebird ODBC Setup.gif
2013-07-29 11_53_34-Firebird ODBC Setup.gif (17.65 KiB) 4149 mal betrachtet
Die Datei ODBC.ini habe ich dabei nicht angefasst.

Nach der Beschreibung muss bei einem FB-Server die Datei services im Verzeichnis C:\Windows\System32\drivers\etc den Eintrag
  • gds_db 3050/tcp #Firebird-Datenbank
aufweisen. Vielleicht hilft Dir das weiter.

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Firebird mit LO-Base über ODBC - Integer-Eingaben unmögl

Beitrag von RobertG » Mo 5. Aug 2013, 19:55

Hallo Peter,

hast Du auch einmal probiert, ob Du Werte in ein Integer-Feld eintragen kannst? Das scheint bei mir erst einmal der Hauptknackpunkt zu sein.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

pmoegenb

Re: Firebird mit LO-Base über ODBC - Integer-Eingaben unmögl

Beitrag von pmoegenb » Di 6. Aug 2013, 09:02

Hallo Robert,
ich habe einen Datensatz, der ein Integer-Feld aufweist, in der Datenbank-Ansicht eingefügt und anschließend mit IBExpert überprüft. Der Datensatz samt Inhalt des Integer-Feldes ist vorhanden.

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Firebird mit LO-Base über ODBC - Integer-Eingaben unmögl

Beitrag von RobertG » Di 6. Aug 2013, 10:23

Hallo Peter,

ich habe den Eindruck, dass wir aneinander vorbei schreiben. Ich meine die Integer-Eingaben von Base mittels ODBC. Mit JDBC kann ich Eingaben über Base machen. Mit ODBC klappt das nicht für Integer-Felder, wenn ich Base nutze. Ich kann aber über das Tool "isql" und ODBC auch Integer-Werte schreiben.
Das sieht dann wie in der angehängten Datei aus.
Firebird hat da auch ein etwas anderes Verständnis, die Zahlen anzugeben. So ist die Längenangabe für Integer 32. Steht für 2^32 → 10 Stellen, nämlich 4294967296 als Maximum.
Small-Integer und Big-Integer gehen übrigens - wie auch ersichtlich.

Gruß

Robert
Dateianhänge
Integer-Feld bleibt leer, wenn Eingabe durch ODBC
Integer-Feld bleibt leer, wenn Eingabe durch ODBC
firebird_integer_odbc_lo.png (31.29 KiB) 4095 mal betrachtet
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

pmoegenb

Re: Firebird mit LO-Base über ODBC - Integer-Eingaben unmögl

Beitrag von pmoegenb » Di 6. Aug 2013, 10:33

Hallo Robert,
RobertG hat geschrieben: ich habe den Eindruck, dass wir aneinander vorbei schreiben. Ich meine die Integer-Eingaben von Base mittels ODBC.
Nichts anderes habe ich geschrieben. In LibO heißt es natürlich korrekter Weise Datenquellenansicht (F4) und nicht Datenbank-Ansicht
Firebird_ODBC.gif
Firebird_ODBC.gif (7.82 KiB) 4090 mal betrachtet

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Firebird mit LO-Base über ODBC - Integer-Eingaben unmögl

Beitrag von RobertG » Di 6. Aug 2013, 11:33

Hallo Peter,

ich habe jetzt weiter recherchiert. Das ganze ist wohl ein Definitionsproblem, was unter allen Linux-64bit-Varianten auftaucht:
http://tracker.firebirdsql.org/browse/ODBC-141
und hier die Erklärung
https://bugs.freedesktop.org/show_bug.cgi?id=45881

Der ODBC-Treiber von Firebird liefert nicht die erforderliche Information für eine Unterscheidung von Integer und Long ...

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten