Kann nicht Fehler laden Fehlercode 3. Vorgehensweise nur an einer Maschine arbeiten

Ich habe eine gespeicherte Prozedur erstellt, von denen zwei Parameter übernommen werden: 1) @tablelocation 2) @tablename.

Die Prozedur ist ziemlich einfach – es schüttet eine CSV-file ein, führt einige Modifikationen durch und benennt sie dann an den @tablename-Parameter um. Siehe unten für execute script:

DECLARE @return_value int EXEC @return_value = [dbo].[spLocationTableImport] @tablelocation = N'C:\TestFile', @tablename = N'TestTable' SELECT 'Return Value' = @return_value GO 

Meine Prozedur funktioniert einwandfrei, wenn sie auf einer Maschine lief – aber wenn ich versuche, es von einer anderen Maschine auszuführen, bekomme ich den Fehler:

Kann nicht geladen werden, da die file "C: \ TestFile.csv" nicht geöffnet werden konnte. Betriebssystem Fehlercode 3 (Das System kann den angegebenen Pfad nicht finden.).

Ich bin auf beiden Maschinen mit den gleichen Anmeldeinformationen angemeldet, also denke ich nicht, dass dies eine Berechtigungsfrage ist (auf der Benutzerebene sowieso). Jede Hilfe zu diesem Thema wird sehr geschätzt. Vielen Dank.

Wenn SQL server mit einem Verzeichnis arbeiten muss, verwendet es das Verzeichnis auf SQL server . Sie können keine file auf Ihr lokales C: Laufwerk stellen und dann SQL server bitten, es durch BULK INSERT zu importieren.

Sie müssen in der Lage sein, die file auf den SQL server zu kopieren oder Ihre eigene Importfunktionalität über eine lokale Anwendung (oder potenziell eine Webanwendung) zu erstellen, die eine Verbindung zum SQL server herstellt und die data importiert.

Alternativ können Sie SQL server Zugriff auf Ihre lokale Maschine und haben es importieren durch UNC-Pfade, aber das ist anfällig für alle Arten von Fehlern nicht zu erwähnen, dass jeder PC muss eingerichtet und gepflegt werden.

Auch im Auge behalten security, wenn Sie gehen zu lassen, andere Menschen auf lokalen Maschinen importieren data in Ihre SQL-database.