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!
Was soll der Backslash vor "c:" ?
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Sicher, dass der Pfad C:\Benutzer stimmt? Normalerweise sollten dort für jeden User Unterordner sein - man speichert eigentlich nichts direkt in diesen Ordner!
@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.
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.
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
Ja!
Aber trotzdem kommt das gleiche Fehler ... kann es sein, dass das an Struktur der Server liegt? dass die Datei auf Datenserver liegen soll?
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
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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.”
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
@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?!
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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 ...
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.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code