Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Masseneinfügung mit Textqualifizierer in SQL Server

Sie müssen eine „Formatdatei“ verwenden, um einen Textqualifizierer für die Masseneinfügung zu implementieren. Im Wesentlichen müssen Sie der Bulk-Einfügung beibringen, dass es möglicherweise unterschiedliche Trennzeichen in jedem Feld gibt.

Erstellen Sie eine Textdatei namens "level_2.fmt" und speichern Sie sie.

11.0
2
1   SQLCHAR   0  8000   "\","      1     wkt         SQL_Latin1_General_CP1_CI_AS
2   SQLCHAR   0  40   "\r\n"      2     area         SQL_Latin1_General_CP1_CI_AS

Die erste Zeile „11.0“ bezieht sich auf Ihre SQL-Version. Die zweite Zeile zeigt, dass Ihre Tabelle [level2_import] zwei Spalten hat. Jede Zeile danach beschreibt eine Spalte und folgt dem folgenden Format:

[Quellspaltennummer][Datentyp][Mindestgröße][Maximale Größe][Trennzeichenmuster][Zielspaltennummer][Zielspaltenname][Groß-/Kleinschreibung der Datenbank]

Nachdem Sie diese Datei erstellt haben, können Sie Ihre Daten mit der folgenden Bulk-Insert-Anweisung einlesen:

BULK INSERT level2_import
FROM 'D:\test.csv'
WITH 
(
  FIRSTROW = 2,
  FORMATFILE='D:\level_2.fmt'
);

In diesem Blog finden Sie eine detaillierte Erläuterung der Formatdatei.