Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

IDENTITY_INSERT und BULK INSERT

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von zachy, 9 Januar 2016.

  1. zachy

    zachy Aktiver Benutzer

    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:

    Habt ihr Ideen?

    Viele Grüße
    zachy
     
  2. ukulele

    ukulele Datenbank-Guru

    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.
     
  3. Ritschi

    Ritschi Aktiver Benutzer

Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden