1 首先确认sqlsever所在的机器对共享文件夹有读取权限
2 注意语法
BULK INSERT test FROM '\\机器名\共享名\test.csv' --核对下这里
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = ' ',
ROWTERMINATOR ='\n'
)
3 核对以上问题后,如果sqlserver所在的windows没有登陆的话 登陆后再试试
2 注意语法
BULK INSERT test FROM '\\机器名\共享名\test.csv' --核对下这里
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR = ' ',
ROWTERMINATOR ='\n'
)
3 核对以上问题后,如果sqlserver所在的windows没有登陆的话 登陆后再试试
exec master..xp_cmdshell 'net use z: \\xz\c$ "密码" /user:xz\administrator'/*--说明:
z: 是映射网络路径对应本机的盘符,与下面的备份对应
\\xz\c$ 是要映射的网络路径
xz\administrator xz是远程的计算机名,administrator是登陆的用户名
密码 上面指定的administrator用户的密码
--*/--2.做你的处理
--3.备份完成后删除映射
exec master..xp_cmdshell 'net use z: /delete'
我的电脑
--控制面板
--管理工具
--计算机管理
--用户和组
--右键用户
--新建用户
--建立一个隶属于administrator组的登陆windows的用户2.在B机器器上,新建一个共享目录,做为备份文件的存放目录,操作:
我的电脑--D:\ 新建一个目录,名为: BAK
--右键这个新建的目录
--属性--共享
--选择"共享该文件夹"
--通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限
--确定
3.设置 MSSQLSERVER 及 SQLSERVERAGENT 服务的启动用户
开始--程序--管理工具--服务
--右键 MSSQLSERVER
--属性--登陆--选择"此账户"
--输入或者选择第一步中创建的windows登录用户名
--"密码"中输入该用户的密码
--确定
--同样的方法设置 SQLSERVERAGENT4.在A机器上完成对B机器BAK目录的映射5.查询分析器中执行下面的语句,检验是否成功:
exec master..xp_cmdshell 'dir 映射的盘符'6.A服务器上做备份计划备注:创建一个新的用户只是为了让MSSQLSERVER服务的启动帐户与共享目录的有效访问同名且密码相同,这样才能通过验证(所以你也可以用其他有效的用户来代替,只需要满足用户名和密码相同,并且拥有足够的权限)
FROM 'z:\**.xls'
还是不行,好郁闷啊!
FROM 'z:\**.xls'是SQL的进程帐户,因此在执行BULK INSERT #Stock
FROM 'z:\**.xls'时没有发现z:盘.