【发布时间】:2017-03-09 06:01:11
【问题描述】:
在脚本组件 [Input0_ProcessInputRow] 中,我试图获取“ReadWrite”全局变量值,但它会抛出以下错误。
错误:
为读写访问锁定的变量集合在 PostExecute 之外不可用。
下面是我的代码
If Row.Column13 = "C" Then
Variables.mTotalCreditCount = Variables.mTotalCreditCount - 1
Variables.mTotalCreditAmount = Variables.mTotalCreditAmount - CDbl(Row.Column14)
ElseIf Row.Column13 = "D" Then
Variables.mTotalDebitCount = Variables.mTotalDebitCount - 1
Variables.mTotalDebitAmount = Variables.mTotalDebitAmount - CDbl(Row.Column14)
End If
我还尝试读取局部变量中的值,然后在 PostExecute() 中分配给全局变量,如下所示。没有运气
If Row.Column13 = "C" Then
mTotalCrCnt = Variables.mTotalCreditCount - 1
mTotalCrAmt = Variables.mTotalCreditAmount - CDbl(Row.Column14)
ElseIf Row.Column13 = "D" Then
mTotalDbCnt = Variables.mTotalDebitCount
mTotalDbCnt = mTotalDbCnt - 1
mTotalDbAmt = Variables.mTotalDebitAmount
mTotalDbAmt = mTotalDbAmt - CDbl(Row.Column14)
End If
Public Overrides Sub PostExecute()
MyBase.PostExecute()
Variables.ProcessCount = intProcessCount
Variables.mTotalCreditCount = mTotalCrCnt
Variables.mTotalCreditAmount = mTotalCrAmt
Variables.mTotalDebitCount = mTotalDbCnt
Variables.mTotalDebitAmount = mTotalDbAmt
End Sub
有什么帮助吗?
【问题讨论】:
-
我试过了,现在可以访问了。 stackoverflow.com/questions/13450289/…
-
我遇到了类似的问题,但不知道如何解决?你提供了一个链接,但我没有接受这个页面上的答案,它们很相似!!你能给我们一个答案吗?或接受提供的答案(如果您尝试过)?
标签: sql-server vb.net ssis etl ssis-2012