我运行
时有一个Visual Basic脚本Dim area As String = Row.Area.Substring(0, Row.Area.IndexOf("-") + 1)
Row.Area = Row.Area.Replace(area, "")
我收到此错误:
System.ArgumentException:String的长度不能为零。参数名称:Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(例外e)中的oldValue,位于Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer缓冲区)在Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostProcessInput(IDTSManagedComponentWrapper100包装器,Int32 inputID,IDTSBuffer100 pDTSBuffer,IntPtr
答案 0 :(得分:1)
您需要检查区域是否包含连字符。否则Row.Area.Substring(0, Row.Area.IndexOf("-") + 1)
将返回一个空字符串,并将空字符串传递给Replace
是造成错误的原因。
所以(请原谅任何无效的VB.Net)
If Row.Area.Contains("-") Then
Dim area As String = Row.Area.Substring(0, Row.Area.IndexOf("-") + 1)
Row.Area = Row.Area.Replace(area, "")
End If