5. Oktober 2022 18:27
Hallo zusammen,
ich probiere von einer Datenbank zur anderen etwas zu transferieren mit einem Dataport.
Der Export mehrerer Tabellen klappt soweit und ist in der Textdatei gespeichert, wenn ich nun aber die Datei mit dem identischen Dataport mit der Funktion ,,importieren", importieren möchte kommt folgende Meldung: ,,Das Feld darf nicht leer sein. Geben Sie bitte einen Wert ein.". Leider komme ich hier mit dem Debugger nicht weiter, der springt nicht drauf an. Ich habe sonst auch keinen extra Code im Dataport selbst geschrieben. Hat hier jemand eine Idee wie ich das beheben kann?
Vielen Dank und liebe Grüße.
5. Oktober 2022 18:36
Ich glaub am einfachsten wär's wenn du den Dataport hier hochladen würdest als TXT Datei.
5. Oktober 2022 21:25
Hey,
lässt sich leider Datenschutztechnisch schwer realisieren da es Debitoren sind inklusive dazugehörige Tabellen.
Reicht dir denn expilizit vielleicht ein Auszug vom Anfang wo ich Daten noch händisch abändern könnte?
5. Oktober 2022 21:38
Ich meinte das Objekt, also den Code des Dataports, nicht die Daten
5. Oktober 2022 22:14
Oh
Anbei das Objekt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
5. Oktober 2022 22:23
Da sind ja eine ganze Reihe von Tabellen drin. Ich bin nicht sicher, ggf. haben manche davon bei euch im Primärschlüssel (z. B. im Feld "Nr." der Tabelle Debitor oder Verkaufslieferkopf) "NotBlank" gesetzt, in der Datei ist dann aber ein leerer drin.
Es sind auch Tabellen drin ohne Felder. Das könnte auch das Problem sein. Warum ist Tabelle 36 usw. im Dataport enthalten ohne dass Felder definiert sind?
5. Oktober 2022 22:52
Ein Glück hast du das gesagt, habe fälschlicherweise durch das doppelte Öffnen des Dataports meinen anderen Speicherstand überschrieben.
Anbei ist jetzt nochmal der richtige (aktuelle Dataport). Hier ist die Fehlermeldung dann auch anders: ,,Die Beziehung zu dem Teil Rechnungsnummer der Variable Rechnungsnummer konnte nicht gelöst werden."
Hinsichtlich der Primärschlüssel mit NotBlank, habe ich einmal die Exportdatei gecheckt, da ist soweit alles richtig. (War aber noch die Exportdatei mit dem alten Stand des Dataports, ist daher wahrscheinlich eh hinfällig).
Hast du da eine Idee? Und vielen Dank schon mal für deine Hilfe!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
5. Oktober 2022 23:14
Ich vermute der Debugger hilft auch hier nicht weiter?
Ich weiß dass mir die Fehlermeldung "Die Beziehung zu dem Teil XXXXX der Variable XXXXX konnte nicht gelöst werden" was sagen sollte, aber ich kann mich gerade nicht erinnern was.
Ich nehme an das Feld "Rechnungsnummer" ist ein eigenes Feld in Tabelle 110 und 36. Kann es sein dass mit dem Feld etwas nicht stimmt in einer der beiden Tabellen?
6. Oktober 2022 07:43
Nein, der Debugger greift hier leider nicht.
Und, kannst du dich jetzt dran erinnern?
Ich schaue mir die Felder mal in beiden Tabellen an, aber wie genau meinst du ,,etwas nicht stimmt"? Im laufenden Betrieb haben die Felder bis jetzt noch nie Probleme gemacht.
Wichtig noch dazu, die Fehlermeldung kommt nun beim Export und nicht beim Import, am Anfang des Topics ging es ja noch um den Import.
6. Oktober 2022 08:15
Ich habe nun parallel mal einen Dataport gemacht ohne Verkaufslieferkopf & co.
Lediglich Debitoren, Ansprechpartner, Bemerkungen und Preisvereinbarungen. Da läuft der Import auf einen Validation Fehler, da scheinen entweder alte Werte ohne Validation oder händisch im Table eingetragene Werte zu stehen, die mir nun wieder auf die Füße fallen. Gibt es eine Möglichkeit das ganze zu forcen, also quasi die Validation zu ignorieren? Oder hast du da eine andere Idee?
6. Oktober 2022 09:32
enh hat geschrieben:...Ich weiß dass mir die Fehlermeldung "Die Beziehung zu dem Teil XXXXX der Variable XXXXX konnte nicht gelöst werden" was sagen sollte, aber ich kann mich gerade nicht erinnern was...
Das deutet darauf hin, dass ein Feld anglegt/gelöscht/geändert wurde. Sind denn alle Felder aus dem Dataport auch in den Tabellen vorhanden?
6. Oktober 2022 10:07
Ja defintiv, die Dataportfields wurden gestern erst aus den Tabellen genommen und ich bin aktuell der einzige Entwickler.
6. Oktober 2022 10:35
dev.pr hat geschrieben:Gibt es eine Möglichkeit das ganze zu forcen, also quasi die Validation zu ignorieren? ?
Mit viel Arbeit: Man kann AutoSave,AutoUpdate,Auto Replace abschalten
Dataport: AutoSave, AutoUpdate, AutoReplaceund dann jedes Feld einzeln manuell im OnAfterImportRecord-Trigger verarbeiten und am Schluss den Datensatz per INSERT (nicht INSERT(TRUE)) versuchen reinzuschieben, bzw. falls es den schon gab (alle Primärschlüsselfelder prüfen), dann per MODIFY.
6. Oktober 2022 10:57
Es lag tatsächlich nicht an fehlerhaften Daten sondern daran das beim ersten Datensatz 2 Records aneinandergeschrieben wurden.
Ich habe den Dataport auf Debitor und die da drunter liegenden Preisvereinbarungen reduziert.
Bei jedem Debitordatensatz wurde in der Textdatei die erste Zeile der Preisvereinbarung rangeschrieben.
Dadaurch kam dann die Felderordnung durcheinander beim Import.
Da ich die Daten dringend brauche probiere ich nun jede Tabelle einzeln zu exportieren / importieren. Oder hat jemand eine Idee wie sich die Zeilen richtig trennen lassen?
Liebe Grüße und vielen Dank!
6. Oktober 2022 11:27
dev.pr hat geschrieben:beim ersten Datensatz 2 Records aneinandergeschrieben wurden.
Das darf nie passieren.
- Code:
FieldStartDelimiter=©;
FieldEndDelimiter=©;
FieldSeparator=[;]
Die Delimiters sind eher ungewöhnlich und der FieldSeparator ; meist untauglich, falls der nicht bei der Eingabe in Text-/Codefeldern abgefangen wird. Alle diese Werte durch Zeichen ersetzen, die definitiv nicht in den Feldern vorkommen, (ggf. nicht eins, sondern mehrere, dabei sinnfreie Kombinationen wie
$§| verwenden). Analog kann man den RecordSeparator abändern.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.