Bulk load: Ein unerwartetes Ende der Datei aufgetreten, die in der Datei

Ich bin mit SQL Server Express 2008

Wenn ich versuche, das laden der Daten aus txt Datei in dieser Tabelle

create table Clients
(
ClientID int not null IDENTITY (9000,1),
LastName varchar (30)not null,
FirsName varchar (30)not null,
MidInitial varchar (3),
DOB date not null,
Adress varchar (40) not null,
Adress2 varchar (10),
City varchar (40) not null,
Zip int not null,
Phone varchar (30) ,
CategCode varchar (2) not null,
StatusID int  not null,
Hispanic BINARY default 0,
EthnCode varchar(3) ,
LangID int,
ClientProxy varchar (200),
Parent varchar (40),
HshldSize int default 1,
AnnualHshldIncome INT,
MonthlyYearly VARCHAR(7) ,
PFDs INT,
WIC BINARY default 0,
Medicaid BINARY default 0,
ATAP BINARY default 0,
FoodStamps BINARY default 0,
AgencyID int not null,
RoutID int  ,
DeliveryNotes varchar (200),
RecertificationDate date not null,
Notes text,
Primary Key (ClientID)
);

Benutze ich

SET IDENTITY_INSERT Clients2 ON;
BULK INSERT Clients2
FROM 'c:\Sample_Clients.txt'  
WITH
(
   FIELDTERMINATOR = ',', 
   ROWTERMINATOR = '\r\n'  
)

SQL Server Express trows mir Fehler

Msg 545, Ebene 16, Status 1, Zeile 2
Expliziter Wert angegeben werden muss für die Identitätsspalte in Tabelle 'Kunden', die entweder, wenn IDENTITY_INSERT AUF on festgelegt ist oder wenn ein Replikations-Benutzer ist das einfügen in eine not FOR REPLICATION-Identitätsspalte.

Datei hat nur eine Zeile (für jetzt nur noch sample-Daten) ich schau es viele Male seine one-line -

Daten sieht wie folgt aus

13144,Vasya,Pupkin,,1944-10-20,P.O. Box 52,,Wrna,99909,(907) 111-1111,SR,4,0,W,1,,,3,1198,month,0,0,1,0,1,45,,,2011-04-27

Irgendwelche Ideen, wie man dieses problem beheben?

  • Herzlich willkommen auf StackOverflow: wenn Sie die post-code -, XML-oder Daten-samples, P L E A S E markieren Sie die gewünschten Zeilen im text-editor und klicken Sie auf den "code samples" - Taste ( { } ) auf der editor-Symbolleiste zu schön format und syntax-markieren Sie es!
  • ntext, text, und image Datentypen werden in einer zukünftigen version von SQL Server. Vermeiden Sie die Verwendung dieser Datentypen bei neuen Entwicklungen, und planen Sie das ändern von Anwendungen, die derzeit verwendet werden. Verwenden nvarchar(max), varchar(max), und varbinary(max) statt.
  • Die Tabelle 30 Spalten - das Beispiel aus der Datei, die Sie bulk-Ladung in 29 Spalten ..... ausserdem: hast du wiederum IDENTITY_INSERT ON für die Tabelle vor bulk-loading?
  • Neu Satz marc_s Kommentar: 1 Spalte fehlt, von Ihrer Datei, und Sie können das einfügen von Werten in eine Identitätsspalte ohne Verwendung SET IDENTITY_INSERT ON. Wenn Sie zu beheben diese Probleme, was passiert?
  • marc_s Danke, es war das problem, weil im letzten Feld war null, es hat keine Daten in cvs-Datei, und wenn ich es speichern als txt es, überspringen Sie einfach die Spalte. Ich füge ein zusätzliches Komma nach dem letzten Eintrag und es sendet und Antworten (0) betroffenen Zeilen, und wen hab ich select * from Clients2 es ist völlig leer,
  • jetzt werfen Msg 545, Ebene 16, Status 1, Zeile 2 Expliziter Wert angegeben werden muss für die Identitätsspalte in Tabelle 'Kunden', die entweder, wenn IDENTITY_INSERT AUF on festgelegt ist oder wenn ein Replikations-Benutzer ist das einfügen in eine not FOR REPLICATION-Identitätsspalte. Wenn ich verwendet, ich benutze SET IDENTITY_INSERT-Clients2 AUF, wenn ich mit I-SET IDENTITY_INSERT-Clients2 AUS ist es nur saed (0 Zeile(N) betroffen) und hat nicht irgendwelche Daten aus Datei

InformationsquelleAutor Andrey | 2013-02-18
Schreibe einen Kommentar