2010-06-09 4 views
0

Я запускаю VBScript в SQL-агенте, но в строке 34 (первая попытка копирования) я получаю «Разрешение отказа». Я запустил этот скрипт вне SQL-агента без проблемVBScript Permission Denied on CopyFile

FYI: Дисковод «X: \» отображается в папку SharePoint. Это может быть преступником.

Function Main() 
Const SourceDrive As String = "X:\" 
Dim fso 
Dim Today 
Dim FileName 
Dim FromFile 
Dim FromDrive 
Dim ArchivePath 

Set fso = CreateObject("Scripting.FileSystemObject") 

Today = Format(Now, "yyyyMMdd") 

'To add more sources just add them to the array list 
Dim Sources() As Variant 
Sources() = Array("Item1", _ 
        "Item2") 

'To add more targets just add them to the array list 
Dim Targets() As Variant 
Targets() = Array("C:\Users\myalias\Desktop\MyToFolder", _ 
        "C:\Users\myalias\Desktop\MyToFolder2") 


For i = 0 To UBound(Sources) 
    FileName = "WebSurveyAlertCallbacks_" & Sources(i) & "_" & Today & ".xls" 
    FromDrive = fso.BuildPath(SourceDrive, Sources(i)) 
    FromFile = fso.BuildPath(FromDrive, FileName) 
    ArchivePath = fso.BuildPath(FromDrive, "Archive") 
    If fso.FileExists(FromFile) Then 
     For t = 0 To UBound(Targets) 
      fso.CopyFile FromFile, fso.BuildPath(Targets(t), FileName), True 
     Next 
     fso.CopyFile FromFile, fso.BuildPath(ArchivePath, FileName), True 
     fso.DeleteFile FromFile 
    End If 
Next 

Set fso = Nothing 

Main = DTSTaskExecResult_Success 
End Function 

ответ

1

агент, вероятно, работает под другим пользователем-счета (т.е. не вы), а затем не имеет права доступа к файлам/папкам, которые вы используете.

Когда вы запускаете его снаружи, он использует ваши права входа в систему и выполняет штраф.

+0

Я хотел бы согласиться с этим ответом, но агент вошел в систему с тем же пользователем, что и тот, который я использую. –