verwendetes Datenbanksystem: MSSQL 2008 R2
Hallo!
Ich habe eine CSV Datei:
Jim;Knopf
Tim;Tester
Chem;Checker
Diese Namen möchte ich nun in die Tabelle Person importieren:
CREATE TABLE Person
(
Id int IDENTITY(1,1) NOT NULL
,FirstName VARCHAR(50)
,LastName VARCHAR(50)
)
Importieren möchte ich die datei via BULK INSERT:
BULK INSERT csv
FROM 'e:\data.csv'
WITH
(
FORMATFILE = 'e:\data_format.xml'
)
Formatfile:
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR=";"/>
<FIELD ID="2" xsi:type="CharTerm" TERMINATOR="\n"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="FirstName" xsi:type="SQLVARYCHAR"/>
<COLUMN SOURCE="2" NAME="LastName" xsi:type="SQLVARYCHAR"/>
</ROW>
</BCPFORMAT>
Problem ist nun das ich folgendes Ergebnis erhalte:
Id FirstName LastName
18 Knopf NULL
19 Tester NULL
20 Checker NULL
Der Nachname landet in der Vorname Spalte und der Namchname wird nicht importiert. Meine erster Gedanke war, das ich ein <COLUMN>-Element definieren müsste, welches keine <FIELD>-Zuordnung hat, da das ganzte ja verschoben scheint. Das ist allerdings nicht möglich.
Was habe ich falsch gemacht?
Ist das so wie ich mir das wünsche überhaupt anhand deises Weges möglicht?
:::
System: Win7 x64 | INTEL Core i7 2.8Ghz | 4 GB RAM
Ich hab noch nie damit gearbeitet, aber bist du sicher, dass der "Terminator" für Feld 2 stimmt?
Vielleicht kannst du auch sowas wie source=NULL für die ID Spalte angeben?
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
Hab's schon ewig nicht mehr benutzt, aber gibt's für das Erstellen der Format-Datei nicht ein Tool? BCP oder so?
Bart Simpson
Praxis ist wenn alles funktioniert und keiner weiss warum.
Theorie ist wenn man alles weiss, aber nichts funktioniert.
Bei uns wird Theorie und Praxis vereint: Nichts funktioniert und keiner weiss warum...