AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Einfügen über externalTabelle funktioniert nicht richtig
Thema durchsuchen
Ansicht
Themen-Optionen

Einfügen über externalTabelle funktioniert nicht richtig

Ein Thema von blutigerAnfänger · begonnen am 27. Feb 2014 · letzter Beitrag vom 12. Sep 2014
Antwort Antwort
Perlsau
(Gast)

n/a Beiträge
 
#1

AW: Einfügen über externalTabelle funktioniert nicht richtig

  Alt 27. Feb 2014, 12:17
Zitat:
1. Was ist eine "external Tabelle"? Meinst du eine Tabelle in einem anderen DMBS?
Eine externe Datei, welche wie als Tabelle eingebunden wird und auf die man per SQL-Befehle (meist lesend) zugreifen kann.
Du meinst, man kann in eine Firebird-DB eine externe Datei einbinden, die dann von der Anwendung, die auf diese Datenbank zugreift, als gewöhnliche Tabelle angesehen wird?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.881 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Einfügen über externalTabelle funktioniert nicht richtig

  Alt 27. Feb 2014, 12:20
Jein, man kann mit dieser Tabelle nicht alles machen; es gibt bestimmte Einschränkungen
Markus Kinzler
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: Einfügen über externalTabelle funktioniert nicht richtig

  Alt 27. Feb 2014, 12:31
Jein, man kann mit dieser Tabelle nicht alles machen; es gibt bestimmte Einschränkungen
Und schon wieder was dazugelernt: Von diesen external Tables hatte ich bislang noch nichts gehört. Nun hab ich aber einen (älteren) Text gefunden, der das erklärt.
  Mit Zitat antworten Zitat
blutigerAnfänger

Registriert seit: 23. Mär 2010
82 Beiträge
 
#4

AW: Einfügen über externalTabelle funktioniert nicht richtig

  Alt 27. Feb 2014, 13:30
In der Zwischenzeit habe ich mir IBExpertPersonal aufgespielt und festgestellt:
1. Die externe Datei wird erstellt und befüllt.
2. Die Zieltabelle (Tabelle2) wird ordnungsgemäß befüllt(mit dem Mist der in der externen Datei steht.)

Zu 1. habe ich ein schematisches Beispiel:
original
Code:
AAAAA  {45 Leerzeichen}  BBBBB {245 Leerzeichen}  Zeilenende
in externer Datei
Code:
AAA   {43 Leerzeichen}   BB {8 Leerzeichen} Spaltentrenner(IBExpert) B {240 Leerzeichen}  Zeilenende

A steht für den zB.Buchstaben aus dem String in Feld 1
B analog
Wie man an der Zahl der As und Bs erkennt werden Buchstaben verschluckt.

Also ist offensichtlich bei der Überführung in die externe Datei bereits ein Fehler aufgetreten.
Mir ist aber keine andere Möglichkeit bekannt um mit externen Dateien zu arbeiten.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Einfügen über externalTabelle funktioniert nicht richtig

  Alt 27. Feb 2014, 13:42
AAA {43 Leerzeichen} BB {8 Leerzeichen} Spaltentrenner(IBExpert) B {240 Leerzeichen} Zeilenende
Das läßt vermuten – gerade auch, weil die Anzahl der Zeichen ja übereinstimmt (245+5=250 / 240+8+2=250) –, daß im Record in dieser Spalte ein Spaltentrennzeichen vorkommt, das eigentlich noch zum Feldinhalt gehören sollte. Dieses Spaltentrennzeichen wird dann wohl korrekterweise fehlinterpretiert. Wenn du z.B. einen Inhalt hast, in welchem z.B. das ; vorkommt, das aber gleichzeitig Spaltentrennzeichen ist, ist das Chaos vorprogrammiert. Vielleicht könntest du das Spaltentrennzeichen ändern, müßtest das dann aber auch in der Quelldatei machen.

Geändert von Perlsau (27. Feb 2014 um 13:45 Uhr)
  Mit Zitat antworten Zitat
blutigerAnfänger

Registriert seit: 23. Mär 2010
82 Beiträge
 
#6

AW: Einfügen über externalTabelle funktioniert nicht richtig

  Alt 27. Feb 2014, 14:01
Code:

AAA  {43 Leerzeichen}   BB {8 Leerzeichen} Spaltentrenner(IBExpert) B {240 Leerzeichen}  Zeilenende

A steht für den zB.Buchstaben aus dem String in Feld 1
B analog
das ist die allererste Zeile der external Tabelle. Es fehlen bereits 2 Buchstaben aus dem String A (Feld 1)

@ Perlsau
Der Gedanke mit dem Trennzeichen ist gut, dennoch wo sollen bei den 2 fehlenden Buchstaben in der allerersten Zeile Trennzeichen herkommen?

In den Vorschriften zur external Datei sollen Dateien mit fester Feldlänge verwendet werden. Genau das habe ich. Was in Feld 2 (mit BB gekennzeichnet) an fehlinterpretierbaren Trennzeichen stehen könnten, sollte durch die FeldGröße (250 Zeichen) aufgefangen werden.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: Einfügen über externalTabelle funktioniert nicht richtig

  Alt 27. Feb 2014, 14:12
Du hattest oben doch geschrieben:
Code:
AAAAA {45 Leerzeichen}  BBBBB {245 Leerzeichen}  Zeilenende
Das heißt, du hast 5 Zeichen an Information, die mit den 245 Leerzeichen dahinter 250 Zeichen ergeben. Insgesamt hast du hier zwei Spalten.

Nun hast du eine Zeile, in welcher sich plötzlich drei Spalten befinden, wobei die Gesamtanzahl der Länge der letzten beiden Spalten wiederum genau die 250 Zeichen ergeben. Das heißt: irgendwo in dieser Zeile steht ein Spaltentrennzeichen, das dort nicht hingehört, weshalb auch eine dritte Spalte (fehl-)interpretiert wird. Würde dort kein Spaltentrennzeichen stehen, dann würde die Zeile korrekt interpretiert werden.

Der Gedanke mit dem Trennzeichen ist gut, dennoch wo sollen bei den 2 fehlenden Buchstaben in der allerersten Zeile Trennzeichen herkommen?
Welche zwei fehlenden Buchstaben? Ich kann dazu nichts sagen, weil mir deine externe Datei nicht vorliegt bzw. weil du den Inhalt der problematischen Zeile nicht bekannt gibst. Das heißt, ich weiß weder, was genau in dieser Zeile steht, noch weiß ich, wie das Trennzeichen (das ja auch aus mehreren Zeichen bestehen kann) aussieht.

Trennzeichen kommen nicht von irgendwo her, sondern befinden sich in deiner externen Datei. Wenn ich derartige Probleme habe, dann untersuche ich die entsprechende Datei ganz genau, am besten via Debugging im Quellcode meines verarbeitenden Programms.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz