0

SQL AgentでVBScriptを実行していますが、34行目(最初のコピー試行)に「PermissionDenied」が表示されます。このスクリプトをSQLエージェントの外部で問題なく実行しました

参考:「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
4

1 に答える 1

1

エージェントはおそらく別のユーザーアカウント(つまり、あなたではない)で実行されており、使用しているファイル/フォルダーへのアクセス許可がありません。

外部で実行すると、ログオンしているユーザーの権限が使用され、正常に実行されます。

于 2010-06-09T19:08:24.540 に答える