bulk insert elite..tmp_tmpend
from 'd:\txt\mobile.txt'
with
(
FIELDTERMINATOR='\t',
rowterminator='\n'
)
执行之后报错:消息 4861,级别 16,状态 1,第 2 行
由于无法打开文件 "d:\txt\mobile.txt",无法进行大容量加载。操作系统错误代码为 3(系统找不到指定的路径。)。但是d:\txt\mobile.txt 确实存在此文件的啊。为何报这个错误?请高手帮忙

解决方案 »

  1.   

    直接给你帖联机帮助了,有兴趣自己去看看详细说明吧' data_file ' 
    数据文件的完整路径,该数据文件包含要导入到指定表或视图中的数据。使用 BULK INSERT 可以从磁盘(包括网络、软盘、硬盘等)导入数据。data_file 必须基于运行 SQL Server 的服务器指定一个有效路径。如果 data_file 为远程文件,则指定通用命名约定 (UNC) 名称。UNC 名称采用以下格式:\\系统名称\共享名称\路径\文件名。例如,\\SystemX\DiskZ\Sales\update.txt。
      

  2.   

    如果的实际文件名是mobile.txt.txt也会报这个错
      

  3.   


    bulk insert elite..tmp_tmpend
    from '\\TMPDW\txt\mobile.txt'
    with
    (
    FIELDTERMINATOR='\t',
    rowterminator='\n'
    )我这样去访问远程,还是报相同的错啊
      

  4.   

    如果你的局域网内有一台主机(主机名:PC101,IP:192.168.1.101)上共享了D盘和一个文件夹SharedFolder。访问该主机D盘:
    \\PC101\D$\
    \\192.168.1.101\D$\
    访问共享文件夹SharedFolder:
    \\PC101\SharedFolder\
    \\192.168.1.101\SharedFolder\
      

  5.   

    bulk insert elite..tmp_tmpend
    from 'd:\txt\mobile.txt'
    with
    (
    FIELDTERMINATOR='\t',
    rowterminator='\n'
    )
    ====
    这个语句,是连在哪个服务器上执行的?
    但是d:\txt\mobile.txt 确实存在此文件的啊。为何报这个错误?请高手帮忙
    ====
    这个文件,在不在那个服务器上?还是在你的本机上?
      

  6.   

    [Quote=引用 7 楼 feilniu 的回复:]bulk insert elite..tmp_tmpend
    from 'd:\txt\mobile.txt'
    with
    (
    FIELDTERMINATOR='\t',
    rowterminator='\n'
    )
    ====
    这个语句,是连在哪个服务器上执行的?在本机上执行的,本机上存在这个文件的。用本机连局域网的数据库机器
      

  7.   

    参看该帖3.2节:
    http://topic.csdn.net/u/20100826/18/08132ed8-a383-46ea-b08f-6794702ff236.html
      

  8.   


    如果这个文件在你的本机:方法1:在你的本机用命令行执行bcp进行导入导出,这样操作的是本机文件。
    方法2:假如你的本机的主机名是LZPC,打开D盘的共享,使局域网的数据库机器可以通过\\LZPC\D$\txt\mobile.txt访问到你的文件。用这个UNC进行Bulk Insert。