Massenladen von Daten-Konvertierungs-Fehler (truncation) für Zeile 1, Spalte 1 (Datum) - Fehler
Ich habe eine excel-Datei, die ich will bulk insert
in temp
Tabelle:
create table #tmptable
(
Date varchar(10),
Receipt varchar(50),
Description varchar(100),
[Card Member] varchar(50),
[Account #] varchar(17),
Amount varchar(20)
)
bulk insert #tmptable
from 'C:\Transactions\example.xls'
with (FieldTerminator='\t', RowTerminator = '\n')
go
Dies ist meine excel-Datei:
Beim ausführen bulk
Anweisung, immer die folgende Fehlermeldung:
Msg 4863, Ebene 16, Status 1, Zeile 1-Bulk-load-Daten-Konvertierungs-Fehler
(Trunkierung) für Zeile 1, Spalte 1 (Datum). Msg 4864, Ebene 16, Status 1,
Linie 1 Massenladen von Daten Fehler bei der Konvertierung (Typenkonflikt oder ungültiges
Zeichen für die angegebene codepage) für Zeile 2, Spalte 1 (Datum).
Weiß nicht, warum es passiert.
#tmptable.[Date]
sollte DATE
geben und nicht VARCHAR
.Nicht helfen. Haben andere ähnliche Fehler: "Bulk load-Daten-Konvertierungs-Fehler (Typenkonflikt oder ungültiges Zeichen für die angegebene codepage) für Zeile 1, Spalte 1 (Datum)"
Ich denke, dass Ihre bulk insert liest auch der Header. Versuchen Sie
FirstRow= 2
auf Ihre with
- Anweisung, und Folgen Sie @wewesthemenace 's Beratung über die Verwendung DATE
geben.Ich fügte hinzu, FirstRow=2, und immer eine andere Fehlermeldung: "Bulk load-Daten-Konvertierungs-Fehler (Typenkonflikt oder ungültiges Zeichen für die angegebene codepage) für Zeile 2, Spalte 1 (Datum)."
Ich habe zu Fragen, hast du auch ändern Sie den Datentyp des
#tmptable.[Date]
zu DATE
? Einfach sicherzustellen.InformationsquelleAutor gene | 2015-07-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, Sie tatsächlich Lesen Sie Ihre Header, was bedeutet, das die Daten auf die ersten paar Zeilen der xls sind Bilder, die ist, warum Sie immer einen type mismatch-Fehler
Holen Sie sich die Zeilennummer der ersten Zeile, wo die Daten tatsächlich ist.
dann verwenden Sie diesen:
wobei X die Nummer der Zeile, wo die Daten tatsächlich startet und nicht die Header
Gut, müssen Sie manuell geben Sie die ersten Zeilen, bulkinsert nicht überspringen 'nicht-Daten' - Dateien. Es werden bis zu Ihnen, um zu bestimmen, die die Daten und NICHT die Daten. Aber für jetzt sollte dieses erhalten Sie durch.
Aber wie zu bestimmen, Wann Daten beginnt. Ich versuchte, zu
FirsRow = 8
da hier Daten beginnt und ich bekam "(0 Zeile(N) betroffen)"für excel 2010 und ssms 2012 seine nicht funktioniert für mich.. bitte Anregungen
Wenn du wirklich viele Dateien wie diese, haben Sie besser ein anderes mechanism, reproduzieren alle Dateien ohne Header, mit Daten, beginnend rechts in der ersten Zeile, so können Sie arbeiten mit Ihnen leicht mit Ihrem code. Nur falls du es noch nicht betrachtet noch
InformationsquelleAutor James Joyce Alano