Closed snoopy21 closed 5 years ago
Der binäre Block wird 1 zu 1 aus der DB gelesen, der Zeilenumbruch erfolgt beim XML-Schreiben. Was gem. https://www.w3.org/TR/xmlschema-2/#base64Binary valid ist.
Ich habe das Ganze nochmals geprüft und bin meinem Problem vielleicht näher gekommen. Wenn ich das die DB in PostgreSQL erzeuge wird für das Attribut symbol der Datatyp "bytea" gewählt. Ich lege nun darin einen base46 encodierten String ab. Nun sollte beim Export im xtf wieder derselbe String darin sein, wie kann ich das erreichen? Punkto Zeilenumbruch, besten Dank für den Hinweis, ich werde dies der Abgabestelle weiterleiten.
Kommt auf das Abfrage-Tool an, ob und wie es bytea umwandelt. Mit JAVA/JDBC ist es einfach byte[] (also kein base64).
Und man kann immer mit encode()/decode() base64 in bytea umwandeln.
Da ich die Exporte per ili2pg mache, müsste ich somit das xtf nachträglich nochmals konvertieren. Könnte man hier nicht einen zusätzlichen Parameter in ili2db dafür vorsehen?
Ja, und wie erfolgt der Import?
Bisher war es eine Ersterfassung, in welcher ich die Daten generell per QGIS erfasst habe, ausser die Symboldaten, welche per DBEaver erfasst wurden (Base64 encodierter String). Da dies mittels QGIS bzw. pgAdmin nicht klappte. Nun habe ich in ein neues Schema die exportierten Daten, bei welchen ich die Base64 codierten Strings eingefügt hatte, wieder importiert. Erstaunlicherweise zeigt mir nun DBeaver die Symbole als Bild an und ich kann Files reinladen. Wenn ich diese Daten wieder exportiere, kommen tatsächlich die Base64 codierten Strings. Von daher hat sich meine Anfrage erledigt. Besten Dank für die Geduld.
Bei einem Export per ili2pg aus einer PostGIS-DB treten zwei verschiedene Fehler auf: