Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot bulk load. The file "c:\data.txt" does not exist

Tags:

I'm having a problem reading data from a text file into ms sql. I created a text file in my c:\ called data.txt, but for some reason ms sql server cannot find the file. I get the error "Cannot bulk load. The file "c:\data.txt" does not exist." Any ideas?

The data file (yes I know the data looks crappy, but in the real world thats how it comes from clients):

01-04 10.338,18 0,00 597.877,06- 5 0,7500 62,278- 06-04 91.773,00 9.949,83 679.700,23- 1 0,7500 14,160- 07-04 60.648,40 149.239,36 591.109,27- 1 0,7500 12,314- 08-04 220.173,70 213.804,37 597.478,60- 1 0,7500 12,447- 09-04 986.071,39 0,00 1.583.549,99- 3 0,7500 98,971- 12-04 836.049,00 1.325.234,79 1.094.364,20- 1 0,7500 22,799- 13-04 38.000,00 503.010,49 629.353,71- 1 0,7500 13,111- 14-04 286.400,00 840.126,50 75.627,21- 1 0,7500 1,575- 

The Sql:

CREATE TABLE #temp (     vchCol1 VARCHAR (50),     vchCol2 VARCHAR (50),     vchCol3 VARCHAR (50),     vchCol4 VARCHAR (50),     vchCol5 VARCHAR (50),     vchCol6 VARCHAR (50),     vchCol7 VARCHAR (50) )  BULK insert #temp FROM 'c:\data.txt' WITH ( FIELDTERMINATOR = ' ', ROWTERMINATOR = '\n' )  select * from #temp drop table #temp 
like image 747
Daniel Brink Avatar asked May 17 '10 15:05

Daniel Brink


2 Answers

That's run on the server, so its looking for C:\data.txt on the server's C: drive.

Also ensure the logon your using has read permissions on C:.

like image 135
Alex K. Avatar answered Oct 25 '22 12:10

Alex K.


Is that file on the SQL Server's C:\ drive?? SQL BULK INSERT etc. always works only with local drive on the SQL Server machine. Your SQL Server cannot reach onto your own local drive.

You need to put the file onto the SQL Server's C:\ drive and try again.

Update: @bp_, ok, correct - the file can also be on a share that you can access from the SQL Server machine using an UNC path. But again: that share must be created first, and the user the SQL Server process is running under must have access permissions to that share. You cannot just simply grab a file from a local drive on your PC without setting up quite a bit of infrastructure overhead first

like image 23
marc_s Avatar answered Oct 25 '22 13:10

marc_s