0

不知道我在这里做错了什么 - 我正在尝试生成一个变量,然后我将其传递给 FTP 任务。

在脚本任务中,我设置变量 ReadWrite = User::WildCard。目前,User::WildCard 变量的字符串值为“test.csv”。此脚本应将今天的字符串值重命名为“/forecasts/forecast_20120730.csv”。截至目前,脚本运行成功,但变量未写入。

#Region "Imports"
Imports System
Imports System.Data
Imports System.Collections
Imports System.Math    
Imports Microsoft.SqlServer.Dts.Runtime
Imports System.IO
Imports System.Text
Imports System.Windows.Forms
#End Region

'ScriptMain is the entry point class of the script.  Do not change the name, attributes,
'or parent of this class.
<Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute()> _
<System.CLSCompliantAttribute(False)> _
Partial Public Class ScriptMain
    Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase

    'This method is called when this script task executes in the control flow.
    'Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
    'To open Help, press F1.

    Enum ScriptResults
        Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
        Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
    End Enum

    Public Sub Main()

        Dim FilePart As String

        FilePart = Format(Now, "yyyyMMdd")

        Dts.Variables("WildCard").Value = "/forecasts/forecast_" & FilePart & "*.csv"
        Dts.TaskResult = ScriptResults.Success

    End Sub

End Class
4

1 回答 1

1

在您的代码中,我在任何地方都看不到 LockForWrite 。我认为您需要它才能写回变量。是 Jaime Thomson 的博客中关于如何做到这一点的一个出色而简单的示例。希望这可以帮助。

于 2012-07-31T15:19:55.977 回答