Die Datenbank zuckt mit den Schultern — der Validator nennt Namen
Ein gescheiterter Import erklärt sich selten selbst. Der Lader meldet einen Syntaxfehler nahe einer Zeilennummer, oder schlimmer, lädt die halbe Datei und bleibt dann stehen, und die bedienende Person rät zwischen Zeichenkodierungen, Trennzeichen und Anführungsstilen hin und her. Daher ist der erste Schritt nicht die Reparatur, sondern die Diagnose — lassen Sie die Strukturvalidierung laufen und holen Sie sich eine Fehlerliste mit Zeilennummern — fehlerhafte Zeilen, offene Anführungszeichen, Spalten, die nicht zur Kopfzeile passen. Eine Datei, die sauber validiert und trotzdem nicht lädt, hat ein Kopfzeilen- oder ein Duplikatproblem, genau das, was die nächsten zwei Schritte behandeln. Eine Datei, die nicht sauber validiert, bringt zuerst ihre ungleichen Zeilen in Ordnung oder überspringt sie bewusst, denn jedes folgende Werkzeug vertraut der Zeilenstruktur, die ihm übergeben wird.
Kopfzeilen sind der Vertrag
Die Zieltabelle ist der Vertrag; die erste Zeile der Datei ist die Verhandlung. Externe Exporte kommen mit Customer ID im Januar, userid im Februar und CUSTID, wann immer ein anderes Team den Bericht erzeugt. Die Kopfzeilenauflösung bildet jeden dieser Namen auf die echten Spaltennamen des Zielschemas ab und verbindet die mehrschichtige automatische Zuordnung mit einem expliziten Alias-Wörterbuch für die Namen, die schon als unzuverlässig bekannt sind. Das Ergebnis dieses Schritts ist eine Zuordnung, in der jede Schemaspalte von genau einer Quellkopfzeile gespeist wird — nichts bleibt unbedeckt, nichts wird doppelt beansprucht. Eine unzugeordnete Spalte bedeutet stille NULLs nach dem Laden; eine doppelt beanspruchte bedeutet, dass ein Feld ein anderes still überschreibt. Beide Fehler sind auf dem Zuordnungsbildschirm billiger zu fangen als in einer Abfrage drei Wochen später.
Duplikate sind eine Regelentscheidung
Doppelte Zeilen in einer Importdatei sind selten Unfälle — es sind Re-Exporte, doppelt abgeschickte Formulare oder zwei Personen, die denselben Kunden erfassen. Deshalb gehört die Deduplizierung zu einer festgelegten Regel und nicht zu einem Reflex. Die exakte Übereinstimmung ist der ehrliche Standard — sie entfernt Zeilen, die wortgleich zweimal vorkommen, und fasst solche, die sich nur ähneln, nie an. Die unscharfe verdient ihren Platz, wenn die Datei von Hand erfasst wurde und Leerzeichen oder Großschreibung wahre Zwillinge trennen — und sie muss schriftlich festgehalten werden, denn „wir haben 340 Zeilen entfernt“ lässt sich nur verteidigen, wenn das Kriterium protokolliert ist. Die Zeilenzählung schließt sich in diesem Schritt — Quellzeilen, minus Duplikate, minus übersprungene fehlerhafte Zeilen, ergeben das, was der nächste Schritt erzeugen wird.
Zwei Ausgänge — prüfbare INSERTs oder ein Massen-TSV
Das Endprodukt folgt dem Ladeweg. Gestapelte INSERT-Anweisungen passen zum geprüften, mittelgroßen Ladevorgang — sie tragen Typinferenz, zielen auf MySQL, PostgreSQL, SQLite oder SQL Server und deklarieren eine Konfliktstrategie, ON CONFLICT oder IGNORE, sodass ein erneuter Lauf nichts verdoppelt. Sie lassen sich in einer Codeprüfung lesen, ins Versionskontrollsystem legen und bei Bedarf erneut abspielen. Der TSV-Ausgang dient dem nativen Massenladewerkzeug — COPY- und LOAD-DATA-Wege verzehren eine saubere tabulatorgetrennte Datei weit schneller als jeden Anweisungsstrom, und die Dialektumwandlung kümmert sich um Felder in Anführungszeichen und eingebettete Trennzeichen, damit das TSV sicher parsbar bleibt. Eine Warnung gilt — das Massenladewerkzeug löst keine Konflikte für Sie, daher gehört eine Datei mit möglichen Wiederholungsläufen auf den INSERT-Weg, auf dem die Konfliktstrategie wohnt.
Wo dieser Workflow endet
Diese Seite repariert eine externe CSV, die eine Datenbank ablehnt, und begleitet sie bis zum ersten erfolgreichen Laden. Wächst die Aufgabe darüber hinaus, übergeben Sie sie an die Nachbarn. Quellen, die als Arbeitsmappen eintreffen, oder eine Übergabe, die jede Woche unbeaufsichtigt laufen muss, gehören zum ETL-Ingestions-Workflow. Verdächtige Werte, Ausreißer und Qualitätsbeweise für eine Diskussion gehören zur Datenqualitätsuntersuchung. Filtern, Gruppieren und Umformen einer Tabelle, die bereits problemlos lädt, gehört zum CSV-Dienstworkflow, und das Entwerfen oder Migrieren des Schemas selbst gehört zu den Seiten zur Datenbank-Schemamigration. Reparieren Sie zuerst — und wenn die Aufgabe zur Routine wird, stufen Sie sie zur Pipeline hoch.