Laden...

SQL Server INSERT INTO Tabelle eine XML Datei- Pfad Fehler

Erstellt von Anna85 vor 4 Jahren Letzter Beitrag vor 4 Jahren 2.389 Views
A
Anna85 Themenstarter:in
59 Beiträge seit 2019
vor 4 Jahren
SQL Server INSERT INTO Tabelle eine XML Datei- Pfad Fehler

verwendetes Datenbanksystem: <Server Management Studio>

Hallo,
ich habe eine xml Datei, die auf einem Rechner gespeichert ist. Über Remote verbinde ich mich auf einem Server, wo SQL Server Management läuft.
Auf der SQL Server Management habe ich eine Tabelle erstellt, damit ich die XML Datei hochladen kann:


CREATE TABLE  katzeTat
 (  
 id INT IDENTITY(1,1) PRIMARY KEY,
 xmlData XML,
 loadedDateTime DATETIME
)
 
CREATE primary xml INDEX primaryXMLIndex ON katzeTat
 (xmlData); 
 

Jetzt möchte ich die Datei importieren:


INSERT INTO katzeTat(xmlData, loadedDateTime)
   SELECT CONVERT(XML, BulkColumn, 2) AS BulkColumn, GETDATE() 
   FROM OPENROWSET(BULK '\c:\benutzer\KazteTat.xml', SINGLE_BLOB) AS x;
 

Aber bekomme ich Fehler:> Fehlermeldung:

Das Massenladen ist nicht möglich, da die Datei 'c:\benutzer\KazteTat.xml' nicht geöffnet werden konnte. Betriebssystemfehlercode 3(Das System kann den angegebenen Pfad nicht finden.).

Was ich daran falsch?

Liebe Grüße aus Ulm!

16.827 Beiträge seit 2008
vor 4 Jahren

Was soll der Backslash vor "c:&quot; ?

463 Beiträge seit 2009
vor 4 Jahren

Sicher, dass der Pfad C:\Benutzer stimmt? Normalerweise sollten dort für jeden User Unterordner sein - man speichert eigentlich nichts direkt in diesen Ordner!

A
Anna85 Themenstarter:in
59 Beiträge seit 2019
vor 4 Jahren

@Abt,
Danke
ich habe das \ vor C gelöscht, das gleiche Fehler kommt.

@Stefan.Haegele
hast du auch volkomm Recht!

Aber ich habe nur als Test das gemacht und trotzdem funktioniert nicht.

Nun ist die Frage, warum.

A
Anna85 Themenstarter:in
59 Beiträge seit 2019
vor 4 Jahren

Wenn ich die Datei auf dem Desktop speichere:
bekomme ich Fehler:

Fehlermeldung:
Das Massenladen ist nicht möglich, da die Datei 'C:\Users\Desktop\anne\KazteTat.xml' nicht geöffnet werden konnte. Betriebssystemfehlercode 3(Das System kann den angegebenen Pfad nicht finden.).

Der Pfad kopeire ich einfach vomk Explorer.

463 Beiträge seit 2009
vor 4 Jahren

Fehlermeldung:
Das Massenladen ist nicht möglich, da die Datei 'C:\Users\Desktop\anne\KazteTat.xml' nicht geöffnet werden konnte. Betriebssystemfehlercode 3(Das System kann den angegebenen Pfad nicht finden.).

Der Pfad des Desktops sollte aber C:\Users\Anne\Desktop sein und nicht C:\Users\Desktop\Anne

A
Anna85 Themenstarter:in
59 Beiträge seit 2019
vor 4 Jahren

Ja!

Aber trotzdem kommt das gleiche Fehler ... kann es sein, dass das an Struktur der Server liegt? dass die Datei auf Datenserver liegen soll?

16.827 Beiträge seit 2008
vor 4 Jahren

Meiner Ansicht nach legst Du die Datei in einem Verzeichnis ab, wo eben der SQL Dienst nicht zum Lesen berechtigt ist.
Der Dienst findet die Datei nicht.

Leg die Datei mal an einem neutralen Ort ab, zB C:\temp

U
69 Beiträge seit 2019
vor 4 Jahren

ich habe eine xml Datei, die auf einem Rechner gespeichert ist. Über Remote verbinde ich mich auf einem Server, wo SQL Server Management läuft.

Ist der eine Rechner auf dem die XML-Datei gespeichert ist denn auch der Rechner auf dem das SQL-Server-Management Studio läuft?

“Knowledge cannot replace friendship. I'd rather be an idiot than lose you.”

  • Patrick to Spongebob
A
Anna85 Themenstarter:in
59 Beiträge seit 2019
vor 4 Jahren

Hi, ich habe es gemacht : kommt leider weiter das gleiche Fehler.

16.827 Beiträge seit 2008
vor 4 Jahren

Ist der eine Rechner auf dem die XML-Datei gespeichert ist denn auch der Rechner auf dem das SQL-Server-Management Studio läuft?

Das reicht nicht. Die Datei muss auf dem Server liegen, auf dem der Dienst läuft und der SQL Befehl ausgeführt wird.

A
Anna85 Themenstarter:in
59 Beiträge seit 2019
vor 4 Jahren

@Urza:

Ist der eine Rechner auf dem die XML-Datei gespeichert ist denn auch der Rechner auf dem das SQL-Server-Management Studio läuft?

ja

Also, ich verbinde mich über remote auf einem rechner. Dort ist das Server >Management Toool. Auf dem Rechner, wo ich mich verbunden habe, habe ich unter temp die Datei abgelegt, aber bekomme ich weiter der Fehler.

Es kann sein, dass ich auch keine Rechte habe?!

16.827 Beiträge seit 2008
vor 4 Jahren

Auf dem Rechner, wo ich mich verbunden habe, habe ich unter temp die Datei abgelegt, aber bekomme ich weiter der Fehler.

Die Datei muss natürlich dort liegen, wo das SQL ausgeführt wird - und das ist der SQL Server.
Nicht irgendein Rechner, wo zufällig das Management Tool liegt.

A
Anna85 Themenstarter:in
59 Beiträge seit 2019
vor 4 Jahren

Das reicht nicht. Die Datei muss auf dem Server liegen, auf dem der Dienst läuft und der SQL Befehl ausgeführt wird.

Ja, das ist der Punkt. Aber ich weiss es nicht, wie ich die Datei auf dem Server packen kann. Tja ...

16.827 Beiträge seit 2008
vor 4 Jahren

Das hast Du auch nicht ein mal gefragt.

Wie Du die Datei auf den Server packen kannst; da können wir von Außen auch nur sagen:
Na Du musst halt Dich auf dem Server anmelden und drauf kopieren.

Alternativ eben die Datei auf ein Netzwerklaufwerk schieben, wo der SQL Server Zugriff drauf an.

Aber einfach die Datei "irgendwo hin kopieren" und erwarten der SQL Server hat hellseherische Kräfte... das kann nicht klappen.

A
Anna85 Themenstarter:in
59 Beiträge seit 2019
vor 4 Jahren

Danke für deinen Hinweis.

463 Beiträge seit 2009
vor 4 Jahren

Hast du denn Zugriff auf den Server?