【问题标题】:System.InvalidCastException: Conversion from string ""IB"" to type 'Single' is not validSystem.InvalidCastException:从字符串“IB”到类型“Single”的转换无效
【发布时间】:2018-05-06 15:44:57
【问题描述】:

我在 SSIS 工作。我有一个平面文件,其中一列提供输出 24 列的脚本任务。我的脚本任务抛出此错误:

System.InvalidCastException:从字符串“IB”到类型“Single”的转换无效。 ---> System.FormatException: 输入字符串的格式不正确。

我的平面文件连接字符串、输入列和所有输出列都设置为 unicode 字符串。

我的VB.Net代码如下:

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)

If Not Row.Column0_IsNull AndAlso
        Not String.IsNullOrEmpty(Row.Column0.Trim) Then


    Dim strColumns As String() = Row.Column0.Split(CChar(";"))

    If strColumns.Length <> 17 Then Exit Sub


    Output0Buffer.AddRow()
    Output0Buffer.Column = strColumns(0)
    Output0Buffer.Column1 = strColumns(1)
    Output0Buffer.Column2 = strColumns(2)
    Output0Buffer.Column3 = strColumns(3)
    Output0Buffer.Column4 = strColumns(4)
    Output0Buffer.Column5 = strColumns(5)
    Output0Buffer.Column6 = strColumns(6)
    Output0Buffer.Column7 = strColumns(7)
    Output0Buffer.Column8 = strColumns(8)
    Output0Buffer.Column9 = strColumns(9)
    Output0Buffer.Column10 = strColumns(10)
    Output0Buffer.Column11 = strColumns(11)
    Output0Buffer.Column12 = strColumns(12)
    Output0Buffer.Column13 = strColumns(13)
    Output0Buffer.Column14 = strColumns(14)
    Output0Buffer.Column15 = strColumns(15)
    Output0Buffer.Column16 = strColumns(16)

    End If

End Sub

据我所知,我没有在我的代码或连接字符串中的任何地方使用浮点数或单个字符。

代码抛出如下异常:

从字符串“IB”到类型“Single”的转换无效。

在 Microsoft.VisualBasic.CompilerServices.Conversions.ToSingle(字符串值,NumberFormatInfo NumberFormat) 在 SC_5230962b79f144d082bc4f4027a93d01.ScriptMain.Input0_ProcessInputRow(Input0Buffer 行) 在 SC_5230962b79f144d082bc4f4027a93d01.UserComponent.Input0_ProcessInput(Input0Buffer 缓冲区) 在 SC_5230962b79f144d082bc4f4027a93d01.UserComponent.ProcessInput(Int32 InputID,字符串 InputName,PipelineBuffer 缓冲区,OutputNameMap OutputMap) 在 Microsoft.SqlServer.Dts.Pipeline.ScriptComponent.ProcessInput(Int32 InputID,PipelineBuffer 缓冲区) 在 Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer 缓冲区)

异常窗口显示这是在我的脚本任务中,但代码开头的断点似乎从未被触发。

提前感谢您的帮助。

大卫

【问题讨论】:

  • 异常发生在哪一行?你看过异常吗?你调试过代码吗?

标签: vb.net ssis


【解决方案1】:

我向所有人道歉。数据一团糟,我不得不重建文本文件。请忽略。谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 2011-07-30
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多