Export XML import XML mit stored Procedure

09/02/2010 - 10:42 von Martin Wendel | Report spam
Mahlzeit Kollegen,

habe ein für mich nich tnachvollziebares Problem.

Hier kurz der Versuch:

- vorhandene Tabelle in Datenbank
(5 Datensàtze vorhanden; DS besteht aus 8 Feldern)

- mit folgenden Befehl hohle ich die Daten raus als XML
declare @pfad varchar(8000)
set @pfad = 'bcp "select * FROM [Auswertungen].dbo.T_Test FOR XML RAW,
ROOT, ELEMENTS" queryout "C:\temp\test-data.xml" -T -w -r'
exec xp_cmdshell @pfad

- hiermit hohle ich mir das Format der Tabell raus
declare @pfad varchar(8000)
set @pfad = 'bcp [Auswertungen].dbo.T_Test FORMAT nul -c -t, -x -f
"C:\temp\test-form.xml" -T'
exec xp_cmdshell @pfad

- nun leere ich die Tabelle T_Test um die selben XML-Dateien wieder zu
importieren
TRUNCATE TABLE T_Test

- nun der import
declare @pfad varchar(8000)
set @pfad = 'bcp [Auswertungen].dbo.T_Test2 in "C:\temp\test-data.xml" -f
"C:\temp\test-form.xml" -T'
exec xp_cmdshell @pfad

Ergebnis:
NULL
Starting copy...
SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Native Client]Unexpected EOF encountered in BCP
data-file
NULL
0 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 1
NULL


Will mir Microsoft damit sagen das die Ihre eigene erstellten Daten nicht
mehr lesen können :-)
Nein Spass beiseite, ich finde nichts mehr im Internet was mich auf eine
Lösung bringt und das wàre echt wichtig. Hab vieles gelesen das die
Abschlusszeichen geàndert werden müssen (das kann nicht denen Ihr ernst sein)
und beim Import muss die Tabelle erst erstellt werden?
dafür habe ich doch das Formatfile damit der SQL Server weis wie er es
erstellen soll (In meinem Fall besteht aber die Tabelle ist ja die selbe aus
der ich exportiert habe eben nur ohne Daten)

Wàre echt super wenn jemand eine Idee hat, vielleich tmuss ich andere
Befehlezusàtze beim bcp verwenden, aber ich habe schon wirklich viel
ausprobiert und immer der selbe sch... :-(

Hoffe auf Feedback


thx
Martin Wendel
 

Lesen sie die antworten

#1 Elmar Boye
09/02/2010 - 13:39 | Warnen spam
Hallo Martin,

"Martin Wendel" schrieb ...
[Beispiel gesnippt]
Nein Spass beiseite, ich finde nichts mehr im Internet was mich auf eine
Lösung bringt und das wàre echt wichtig.



Siehe http://msdn.microsoft.com/de-de/lib...91184.aspx

Hab vieles gelesen das die
Abschlusszeichen geàndert werden müssen (das kann nicht denen Ihr ernst sein)
und beim Import muss die Tabelle erst erstellt werden?



bcp ist aber nur bedingt für XML ausgelegt, da es zunàchst einmal
für den Massen-Ex/Import von Daten (vorzugsweise im nativen Format)
ausgelegt ist und von XML schlicht und einfach nichts weiss.

Auch die obigen Beispiele der MSDN betrachten XML als Daten-Blob.

Wàre echt super wenn jemand eine Idee hat, vielleich tmuss ich andere
Befehlezusàtze beim bcp verwenden, aber ich habe schon wirklich viel
ausprobiert und immer der selbe sch... :-(



Die Frage wàre: Brauchst das nun XML oder willst Du Tabellen im/exportieren?

Im letzteren Falle verwende das native Format, das ist unproblematischer
(und auch schneller).

Gruß Elmar

Ähnliche fragen