I' m versucht, eine gespeicherte Prozedur als SQL Server Agent Job einrichten und it' s gibt mir den folgenden Fehler,
Bulkload nicht möglich, da die Datei "P:\file.csv" nicht geöffnet werden konnte. Betriebssystemfehlercode 3 (Text für diesen Fehler konnte nicht abgerufen werden, Grund: 15105). [SQLSTATE 42000] (Fehler 4861)
Das Seltsame ist, dass die gespeicherte Prozedur einwandfrei funktioniert, wenn ich sie manuell ausführe.
Das Laufwerk P: ist ein freigegebenes Laufwerk auf dem Windows SQL Server von LINUX über Samba Share und wurde mit folgendem Befehl eingerichtet,
EXEC xp_cmdshell 'net use P: "\lnxusanfsd01\Data" Passwort /user:username /Persistent:Yes'
Für jede Hilfe wäre ich sehr dankbar
Ich weiß nicht, ob Sie dieses Problem gelöst haben, aber ich hatte das gleiche Problem, wenn die Instanz lokal ist, müssen Sie die Berechtigung für den Zugriff auf die Datei überprüfen, aber wenn Sie von Ihrem Computer auf einen Server (Fernzugriff) zugreifen, müssen Sie den Pfad im Server angeben, so dass bedeutet, die Datei in einem Server-Verzeichnis einschließen, dass mein Fall gelöst
Beispiel:
BULK INSERT Table
FROM 'C:\bulk\usuarios_prueba.csv' -- This is server path not local
WITH
(
FIELDTERMINATOR =',',
ROWTERMINATOR ='\n'
);
Der Einfachheit halber habe ich das Verzeichnis, aus dem ich die Daten importiert habe, einfach in einen lokalen Ordner auf dem Server geändert.
Die Datei befand sich in einem freigegebenen Ordner. Ich kopierte meine Dateien einfach nach "c:\TEMP\Reports" auf meinem Server (aktualisierte die Abfrage auf BULK INSERT aus dem neuen Ordner). Die Agentenaufgabe wurde erfolgreich abgeschlossen :)
Endlich, nach langer Zeit, kann ich BULK INSERT automatisch über einen Agentenauftrag ausführen.
Mit freundlichen Grüßen.
Es handelt sich wahrscheinlich um ein Berechtigungsproblem, aber Sie müssen sicherstellen, dass Sie diese Schritte zur Fehlerbehebung ausprobieren:
sa
läuft und fügen Sie die Befehle net use
und net use /delete
davor und danach einVergessen Sie nicht, alle Änderungen rückgängig zu machen (insbesondere die Ausführung als sa
). Wenn nichts anderes funktioniert, können Sie versuchen, den Bulk Load in eine geplante Aufgabe umzuwandeln, die auf dem Datenbankserver oder einem anderen Server läuft, auf dem bcp installiert ist.