关于访问网络路径的问题(200分)

G

glasses

Unregistered / Unconfirmed
GUEST, unregistred user!
先说一下我要做什么
在原来的SQLSERVER里有一个自动备份的作业,现在要在每次备份完成后,起一个程序,把新备份的文件拷备到网络上的一个共享文件夹下,这个共享文件夹的访问有一些限制,只能用指定的域用户访问。
SQLSERVER自带的备份作业的调度里,允许自己在后面添加步骤执行MSDOS脚本命令。
以指定的用户名与密码访问网络路径也有办法了,代码如下:
以下这段程序是以USERID访问网络路径,并在上面写一个文件:
// open net dir
winexec('net use //gegewu /delete',0);
WNetCancelConnection2(
'//gegewu',
CONNECT_UPDATE_PROFILE,
true);
netresource.dwScope:=RESOURCE_GLOBALNET;
netresource.dwUsage:=RESOURCEUSAGE_CONNECTABLE;
netresource.dwType:=RESOURCETYPE_DISK;
netresource.dwDisplayType:=RESOURCEDISPLAYTYPE_SERVER;
netresource.lpLocalName:='';
netresource.lpRemoteName:='//gegewu';
netresource.lpProvider:='';
re:=WNetAddConnection3(
application.Handle,
netresource,
'password',
'userid',
CONNECT_UPDATE_PROFILE
);
if re=NO_ERROR then
begin
slist := TStringList.Create;
slist.Add('test');
slist.Add('abcdedfghhh');
slist.SaveToFile('//gegewu/Driver G/'+DateTimeToStr(Trunc(now))+'.txt');
end
else begin
application.MessageBox('无法连接到服务器,请与系统管理员联系','系统提示',mb_ok);
application.Terminate;
end;

// close net dir
WNetCancelConnection2(
'//gegewu',
CONNECT_UPDATE_PROFILE,
true);

现在的问题是:1。SQLSERVER调度调用起来的程序无法去得到网络路径的控制权,调用出错。
2。我通过改注册表让访问网络路径的程序在开机时运行,并未有任何用户登陆时,程序不会在指定路径下写文件,直到我以任何一个用户访问后才会在指定位置写文件。

请大侠们帮我找到毛病所在,或是给我解释下行不能的原因,谢谢!
 
net use 共享文件夹 密码 USER:用户
这行命令SQLSERVER也调不起来
 
顶部