无法批量加载。 该文件“C:\\ data.txt中”不存在 无法批量加载。 该文件“C:\\

2019-05-12 10:43发布

我有一个问题,从文本文件中读取数据到MS SQL。 我创建了我的C一个文本文件:\名为data.txt中,但由于某种原因MS SQL服务器无法找到该文件。 我得到的错误“不能批量加载该文件,‘C:’不存在” \ data.txt中 有任何想法吗?

数据文件(是的,我知道这个数据看起来糟糕,但在现实世界中那它是如何来自客户端):

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-

在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

Answer 1:

这是在服务器上运行,所以它的查找C:\data.txt在服务器的C:驱动器。

此外,还要确保您使用基于C具有读取权限登录:。



Answer 2:

是对SQL Server的Ç该文件:\驱动器? SQL BULK INSERT等始终与SQL Server计算机上的本地驱动器有效。 你的SQL Server不能达到到自己的本地驱动器。

你需要把文件到SQL Server的C:\驱动器,然后再试一次。

更新:@bp_,OK,正确的-该文件可以在你可以使用UNC路径SQL Server机器访问共享。 但同样:该共享必须首先创建,并在SQL Server进程正在运行的用户必须具有访问权限到该共享。 你不能只是简单的从你的电脑上的本地驱动器抓取文件,而无需首先设置相当多的基础设施开销



Answer 3:

这主要是权限问题。 您可能没有该驱动器上的权限。 请确保您使用的登录已经阅读或者如果可能的完全控制权限。 它为我的本地机器上。



文章来源: Cannot bulk load. The file “c:\\data.txt” does not exist