BCP gibt keine Fehler, aber auch nicht alle Zeilen kopieren

Ich versuche, dump eine sehr große Menge von Daten aus .csv-Datei in eine SQL-Server-2012-Datenbank. Anstatt Tausende von Beilagen, ich bin untersucht bcp.

EDIT: Dies ist ein automatisierter Prozess, und nicht nur ein one-off. Ich habe auch nicht BULK INSERT Rechte an dieser Datenbank.

Wenn ich versuche, kopieren von Daten in die Datenbank bcp nicht wieder irgendwelche Fehler, aber auch nicht wirklich alles kopieren - es gibt einfach zurück 0 rows copied. Ich habe schnitzte diese nach unten zu einer minimalen Fall, das funktioniert nicht.

Ersten, erstellen Sie eine einfache Tabelle mit zwei Spalten:

CREATE TABLE [dbo].[mincase](
    [key] [varchar](36) NOT NULL,
    [number] [int] NOT NULL

    PRIMARY KEY CLUSTERED 
    (
        [key] ASC
    )
    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 40) ON [PRIMARY]
) ON [PRIMARY]

GO

Verwenden Sie dann bcp Sie eine format-Datei von dieser. Beachten Sie, dass dieses Beispiel erstellt eine Datei im XML-format, aber es spielt keine Rolle, ob es XML oder natives für diese.

bcp MyDB.dbo.mincase format nul -T -n -f mincasexml.fmt -x -S .\SQLEXPRESS

Erstellen Sie nun die Daten.csv-Datei mit einer Zeile und zwei Einträge, den Tabulator-Trennzeichen. In meinem Fall, die Datei ist einfach:

somecharacters  12345

Wieder, das ist ein Reiter nicht zwei Leerzeichen, und es scheint nicht egal, ob es nachfolgende Zeilenumbrüche oder nicht.

Nun versuchen bcp mit diesem format-Datei zum einfügen der Daten aus dieser Datei:

bcp MyDB.dbo.mincase in data.csv -f mincasexml.fmt -T -S .\SQLEXPRESS

Eher als das kopieren von Daten in der Datenbank, bekomme ich diese:

Starting copy...

0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total     : 1

Weiß jemand, was hier Los ist?

Dank!

  • haben Sie versucht, die option DATEN IMPORTIEREN?
InformationsquelleAutor Mark | 2013-04-30
Schreibe einen Kommentar