Ich bekomme diesen Fehler
Bulk load data conversion error (truncation) for row 1, column 12 (is_download)
hier ist die csv ... es hat nur eine reihe
30,Bill,Worthy,sales,,709888499,[email protected],,"Im a a people person., to work together for this new emerging env.HTTP://applesoftware.com","Bill and Son of Co","Contact Us: Contact Form",0
hier ist mein Bulk Insert Statement ...
SE SalesLogix
GO
CREATE TABLE CSVTemp
(id INT,
firstname VARCHAR(255),
lastname VARCHAR(255),
department VARCHAR(255),
architecture VARCHAR(255),
phone VARCHAR(255),
email VARCHAR(255),
download VARCHAR(255),
comments VARCHAR(MAX),
company VARCHAR(255),
location VARCHAR(255),
is_download VARCHAR(255)
)
GO
BULK
INSERT CSVTemp
FROM 'c:\leads\leads.csv'
WITH
(
DATAFILETYPE = 'char',
BATCHSIZE = 50,
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
--Check the content of the table.
SELECT *
FROM CSVTemp
GO
Das Problem ist meistens großartig, aber in einigen Situationen (dies ist eine davon) bekomme ich die Fehler
Jegliche Ideen dazu, was diesen Fehler verursacht
Die Kommas werden innerhalb des Kommentarfeldes als Trennzeichen verwendet, da die Trennzeichen nicht konsistent sind. Die beste Lösung besteht darin, sicherzustellen, dass alle Felder in doppelte Anführungszeichen gesetzt werden und FIELDTERMINATOR
auf '","'
gesetzt wird. Ersetzen Sie alternativ die Kommas durch etwas, das sich wahrscheinlich nicht in den Kommentaren befindet (wie ~
), und legen Sie FIELDTERMINATOR = '~'
fest.
Neben den Kommentaren von Wil werden anscheinend alle 12 Spalten angezeigt. Es kann also sein, dass Ihr Rowterminator falsch ist. Stellen Sie zunächst sicher, dass das Programm, das diese Dateien zusammenstellt, tatsächlich einen Zeilenumbruch am Ende der letzten Zeile enthält. Ich musste viele Programme korrigieren, wo dies nicht der Fall war. Wenn Sie sich sicher sind, dass sich dort ein Wagenrücklauf befindet, müssen Sie möglicherweise ausprobieren, um welche Art von Wagenrücklauf es sich handelt. Manchmal handelt es sich nur um Zeichen (10), manchmal nur um Zeichen (13), und manchmal kann es beides geben, aber in der falschen Reihenfolge. Also experimentiere mit:
ROWTERMINATOR = '\n'
ROWTERMINATOR = '\r'
ROWTERMINATOR = '\n\r'
ROWTERMINATOR = '\r\n'
System.Data.SqlClient.SqlException (0x80131904): Massenladedatenkonvertierungsfehler (Abschneiden) für Zeile 97, Spalte 33
Für den obigen Fehler können Sie überprüfen