IDENTITY_INSERT und BULK INSERT

zachy

Aktiver Benutzer
Beiträge
35
Hallo Community,

ich möchte Daten aus einer CSV-Datei in eine SQL Server 2014-Tabelle (hier: tbl_Personen) per BULK INSERT importieren. Dabei ist die erste Spalte der Tabelle eine IDENTITY-Spalte vom Datentyp int (diese Spalte ist auch der einzige Primärschlüssel der Tabelle).

Nun ist es so, dass die zu importierenden Daten bereits Werte für diese Primärschlüsselspalte mitbringen. Im Internet habe ich gelesen, dass man lediglich IDENTITY_INSERT für die Tabelle tbl_Personen aktivieren müsse, um Werte in die PK-Spalte importieren zu können.

Hier ist mein Code:

Code:
SET IDENTITY_INSERT tbl_Personen ON;
BULK INSERT tbl_Personen
FROM 'D:\Import\tblAnsprechpartner.csv'
WITH
(
    FIELDTERMINATOR = ';',
    ROWTERMINATOR = '\n'
);
SET IDENTITY_INSERT tbl_Personen OFF;

Ihr seht also, ich schalte IDENTITY_INSERT vor dem Import für die Tabelle definitiv an. Trotzdem kriege ich folgende Fehlermeldung um die Ohren gehauen:

Meldung 545, Ebene 16, Status 1, Zeile 22


Ein expliziter Wert muss für die Identitätsspalte in der tbl_Personen-Tabelle angegeben werden, wenn IDENTITY_INSERT auf ON festgelegt ist oder wenn ein Replikationsbenutzer in eine NOT FOR REPLICATION-Identitätsspalte einfügt.

Habt ihr Ideen?

Viele Grüße
zachy
 
Werbung:
Für mich klingt das so als sei IDENTITY_INSERT aktiv aber er findet in deinen CSV Daten mindestens eine Zeile (vieleicht die Überschrift?) die entweder keinen gültigen Wert in der Spalte hat oder der Wert existiert bereits in der DB und ist deshalb nicht gültig.
 
Werbung:
Zurück
Oben