Import Flat File to SQL Wizard (Assistent zum Importieren von Flatfiles in SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Inhalte im Zusammenhang mit dem Import/Export-Assistenten finden Sie unter SQL Server-Import/Export-Assistent.

Mit dem Assistenten zum Importieren von Flatfiles können Daten mühelos aus einer Flatfile (CSV, TXT) in eine neue Tabelle in Ihrer Datenbank kopiert werden. Der Assistent zum Importieren von Flatfiles unterstützt sowohl durch Kommas getrennte Formatdateien als auch Formatdateien mit fester Breite. In dieser Übersicht werden die Gründe für die Verwendung dieses Assistenten beschrieben. Außerdem erfahren Sie, wie er zu finden ist, und erhalten ein einfaches Beispiel, dem Sie folgen können.

Warum sollte ich diesen Assistenten verwenden?

Dieser Assistent wurde erstellt, um die aktuelle Importoberfläche mithilfe eines intelligenten Frameworks zu verbessern: Program Synthesis using Examples (PROSE). Für einen Benutzer ohne spezielle Domänenkenntnisse kann das Importieren von Daten oft eine komplexe, fehleranfällige und mühsame Aufgabe darstellen. Dieser Assistent optimiert und vereinfacht den Importvorgang, sodass es genügt, eine Eingabedatei und einen eindeutigen Tabellennamen auszuwählen. Das PROSE-Framework kümmert sich um den Rest.

PROSE analysiert Datenmuster in Ihrer Eingabedatei, um daraus Spaltennamen, Typen, Trennzeichen und vieles mehr abzuleiten. Dieses Framework erlernt die Struktur der Datei und übernimmt den schwersten Teil der Arbeit, um die Benutzer zu entlasten.

Voraussetzungen

Dieses Feature ist in SQL Server Management Studio (SSMS) v17.3 oder höher verfügbar. Stellen Sie sicher, dass Sie die neueste Version verwenden. Die neueste Version finden Sie hier.

Erste Schritte

Um den Assistenten zum Importieren von Flatfiles aufzurufen, gehen Sie folgendermaßen vor:

  1. Öffnen Sie SQL Server Management Studio.
  2. Stellen Sie eine Verbindung mit einer Instanz der SQL Server-Datenbank-Engine oder mit localhost her.
  3. Erweitern Sie Datenbanken, klicken Sie mit der rechten Maustaste auf eine Datenbank („test“ im folgenden Beispiel), zeigen Sie auf Aufgaben, und klicken Sie oberhalb von „Daten importieren“ auf Flatfile importieren.

Wizard menu

Weitere Informationen über die verschiedenen Funktionen des Assistenten finden Sie im folgenden Tutorial:

Tutorial

Für den Zweck dieses Tutorials können Sie gerne Ihre eigene Flatfile verwenden. Andernfalls verwendet dieses Tutorial die folgende CSV-Datei aus Excel, die Sie kopieren können. Wenn Sie diese CSV-Datei verwenden, benennen Sie sie example.csv, und stellen Sie sicher, dass Sie sie als CSV-Datei an einem leicht zugänglichen Speicherort wie z.B. dem Desktop speichern.

Wizard Excel

Übersicht:

  1. Öffnen des Assistenten
  2. Angeben der Eingabedatei
  3. Datenvorschau
  4. Bearbeiten von Spalten
  5. Zusammenfassung
  6. Ergebnisse

Schritt 1: Assistenten und Einführungsseite öffnen

Öffnen Sie den Assistenten, wie hier beschrieben wird.

Die erste Seite des Assistenten ist die Startseite. Wenn Sie diese Seite nicht mehr anzeigen möchten, klicken Sie einfach auf Diese Anfangsseite nicht mehr anzeigen.

Wizard Intro

Schritt 2: Eingabedatei angeben

Klicken Sie auf „Durchsuchen“, um die Eingabedatei auszuwählen. Der Assistent sucht standardmäßig nach CSV- und TXT-Dateien. PROSE erkennt unabhängig von der Dateierweiterung, ob die Datei durch Kommas getrennt ist oder ein Format mit fester Breite vorliegt.

Der neue Tabellenname muss eindeutig sein, andernfalls lässt der Assistent Sie nicht fortfahren.

Wizard Specify

Schritt 3: Datenvorschau anzeigen

Der Assistent generiert eine Vorschau, die für die ersten 50 Zeilen angezeigt werden kann. Wenn Probleme auftreten, klicken Sie auf „Abbrechen“. Fahren Sie andernfalls mit der nächsten Seite fort.

Wizard Preview

Schritt 4: Spalten ändern

Der Assistent identifiziert, was er für die richtigen Spaltennamen, Datentypen usw. hält. Hier können Sie die Felder bearbeiten, wenn sie falsch sind (z. B. sollte der Datentyp ein Gleitkomma anstelle eines Int sein).

Für Spalten, in denen leere Werte erkannt werden, wird „NULL-Werte zulassen“ aktiviert. Wenn Sie in einer Spalte jedoch NULL erwarten und „NULL-Werte zulassen“ nicht aktiviert ist, können Sie hier die Tabellendefinition aktualisieren, um NULL-Werte in einer oder allen Spalten zuzulassen.

Fahren Sie fort, wenn Sie fertig sind.

Wizard Modify

Schritt 5: Zusammenfassung

Dies ist lediglich eine Übersichtsseite, auf der Ihre aktuelle Konfiguration angezeigt wird. Wenn Probleme vorliegen, können Sie zu den vorherigen Abschnitten zurückwechseln. Andernfalls wird durch Klicken auf „Fertig stellen“ der Importvorgang gestartet.

Wizard Summary

Schritt 6: Ergebnisse

Diese Seite gibt an, ob der Import erfolgreich war. Wenn ein grünes Häkchen angezeigt wird, war er erfolgreich. Andernfalls müssen Sie möglicherweise Ihre Konfiguration oder Ihre Eingabedatei auf Fehler überprüfen.

Wizard Results

Problembehandlung

Der Assistent zum Importieren von Flatfiles erkennt Datentypen anhand der ersten 200 Zeilen. In Szenarien, in denen Daten an späterer Position in der Flatfile nicht den automatisch erkannten Datentypen entsprechen, tritt während des Imports ein Fehler auf. Die Fehlermeldung lautet etwa wie folgt:

Error inserting data into table. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. (System.Data)
String or binary data would be truncated. (System.Data)

Taktiken zum Vermindern dieses Fehlers:

  • Durch Erhöhen der Größenwerte von Datentypen im Schritt Spalten bearbeiten (z. B. durch Verlängern einer nvarchar-Spalte) lassen sich Abweichungen bei Daten im Rest der Flatfile möglicherweise kompensieren.
  • Durch Aktivieren der Fehlerberichterstellung im Schritt Spalten bearbeiten (z. B. durch Angabe einer kleineren Zahl) lässt sich erkennen, welche Zeilen in der Flatfile Daten enthalten, die nicht den ausgewählten Datentypen entsprechen. In einer Flatfile, in der die zweite Zeile zu einem Fehler führt, erzeugt die Ausführung des Importvorgangs mit einer Fehlerberichterstellung im Bereich 1 eine bestimmte Fehlermeldung. Untersuchen Sie die Datei direkt im Speicherort. So können Sie die Datentypen basierend auf den Daten in den identifizierten Zeilen zielgenauer ändern.

Error Reporting Results

Error inserting data into table occurred while inserting rows 1 - 2. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type float of the specified target column. (System.Data)
Failed to convert parameter value from a String to a Double. (System.Data)

Derzeit verwendet der Importeur Codierung basierend auf der aktiven Codepage des Systems. Auf den meisten Computern ist dies standardmäßig auf ANSI festgelegt.

Weitere Informationen

Weitere Informationen zum Assistenten.

  • Weitere Informationen zum Importieren anderer Quellen. Wenn Sie außer Flatfiles noch andere Dateien importieren möchten, finden Sie weitere Informationen unter SQL Server-Import/Export-Assistent.
  • Weitere Informationen zum Herstellen einer Verbindung mit Flatfilequellen. Weitere Informationen zum Herstellen einer Verbindung mit Flatfilequellen finden Sie unter Herstellen einer Verbindung mit einer Flatfile-Datenquelle.
  • Weitere Informationen zu PROSE. Eine Übersicht über das intelligente Framework, das von diesem Assistenten verwendet wird, finden Sie unter PROSE SDK.