2010-06-09 19 views
0

Je cours un VBScript dans l'Agent SQL mais je reçois un 'Permission Denied' à la ligne 34 (la première tentative de copie). J'ai exécuté ce script en dehors de l'Agent SQL sans problèmeAutorisation VBScript refusée sur CopyFile

FYI: Le lecteur 'X: \' est mappé à un dossier SharePoint. Cela peut être le coupable.

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 

Répondre

1

L'agent fonctionne probablement sous un autre compte utilisateur (c.-à-vous pas) et ne dispose pas des autorisations aux fichiers/dossiers que vous utilisez. Lorsque vous l'exécutez à l'extérieur, il utilise les autorisations de votre utilisateur connecté et s'exécute correctement.

+0

J'aurais tendance à être d'accord avec cette réponse, mais l'agent est connecté avec le même utilisateur que celui que j'utilise. –