2012-07-31 137 views
0

不知道我在做什么错在这里 - 我试图生成一个变量,然后我会传递给FTP任务。SSIS写变量脚本任务

在脚本任务中,我设置了变量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 

回答

1

在你的代码中,我没有看到LockForWrite的任何地方。我想你需要这样才能回写一个变量。 Here是来自Jaime Thomson博客的一个很好且简单的例子。希望这可以帮助。