日期:2014-05-19  浏览次数:20529 次

请高手帮忙看这个移动文件的存储过程是什么错误?该怎样做?
create   proc   p_movefile
@s_file   varchar(1000),   --源文件
@d_file   varchar(1000)   --目标文件
as
declare   @err   int,@src   varchar(255),@desc   varchar(255)
declare   @obj   int
exec   @err=sp_oacreate   'Scripting.FileSystemObject ',@obj   out
if   @err <> 0   goto   lberr
exec   @err=sp_oamethod   @obj, 'MoveFile ',null,@s_file,@d_file
if   @err <> 0   goto   lberr
exec   @err=sp_oadestroy   @obj
return
lberr:
  exec   sp_oageterrorinfo   0,@src   out,@desc   out
  select   cast(@err   as   varbinary(4))   as   错误号
    ,@src   as   错误源,@desc   as   错误描述
go
------------------------------------
exec   p_movefile   'c:\mzxx\20070107.txt ', 'D:\data\mzxx\20070107.txt '
--D盘是本地硬盘是正确的

exec   p_movefile   'c:\mzxx\20070107.txt ', 'i:\data\mzxx\20070107.txt '
--I盘,是windows添加netware客户端服务,再到我的电脑映射出来的NOVELL系统的网络驱动器,映射时都不用帐号和密码.
--出现的错误如下:0x80070525

请问这句是不是要执行,该如下修改后执行呢?
exec   master..xp_cmdshell   'net   use   z:   \\xz\c$   "密码 "   /user:xz\administrator '


------解决方案--------------------
帮顶,个人感觉可能是权限上有问题
------解决方案--------------------
将你的sql server服务的启动用户设置为administrator就可以不加了