I am not sure which type to use for my Script Transformation Editor output fields. I'm getting errors based on the Data Type I'm specifying for my fields.
Print Screens:
http://www.webfound.net/script_task.jpg
TITLE: Package Validation Error
Package Validation Error
ADDITIONAL INFORMATION:
Error at Import Maintenance (mnt) File [Split HeaderRows into Columns [5176]]: Error 30512: Option Strict On disallows implicit conversions from 'Double' to 'UInteger'.
Line 21 Column 37 through 71
Error 30512: Option Strict On disallows implicit conversions from 'Double' to 'Long'.
Line 22 Column 35 through 69
Error 30512: Option Strict On disallows implicit conversions from 'Double' to 'Long'.
Line 23 Column 37 through 71
Error 30512: Option Strict On disallows implicit conversions from 'Double' to 'Long'.
Line 25 Column 27 through 61
Error at Import Maintenance (mnt) File [Split HeaderRows into Columns [5176]]: Error 30512: Option Strict On disallows implicit conversions from 'Double' to 'UInteger'.
Line 21 Column 37 through 71
Error 30512: Option Strict On disallows implicit conversions from 'Double' to 'Long'.
Line 22 Column 35 through 69
Error 30512: Option Strict On disallows implicit conversions from 'Double' to 'Long'.
Line 23 Column 37 through 71
Error 30512: Option Strict On disallows implicit conversions from 'Double' to 'Long'.
Line 25 Column 27 through 61
Error at Import Maintenance (mnt) File [DTS.Pipeline]: "component "Split HeaderRows into Columns" (5176)" failed validation and returned validation status "VS_ISBROKEN".
Error at Import Maintenance (mnt) File [DTS.Pipeline]: One or more component failed validation.
Error at Import Maintenance (mnt) File: There were errors during task validation.
(Microsoft.DataTransformationServices.VsIntegration)
BUTTONS:
OK
I'm not sure if this is needed but here's the script I coded in my script task also:
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Public Class ScriptMain
Inherits UserComponent
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Dim strWholeRow As String = Row.OutputHeaderRows
Row.BatchDate = CStr(strWholeRow.Substring(0, 8))
Row.NotUsed = CStr(strWholeRow.Substring(9, 32))
Row.TransactionCode = CStr(strWholeRow.Substring(33, 34))
Row.GrossBatchTotalAmount = CDbl(strWholeRow.Substring(35, 44))
Row.NetBatchTotalAmount = CDbl(strWholeRow.Substring(45, 54))
Row.BatchTransactionCount = CDbl(strWholeRow.Substring(55, 59))
Row.PNETID = CStr(strWholeRow.Substring(60, 63))
Row.PartnerCode = CDbl(strWholeRow.Substring(64, 67))
Row.Filler = strWholeRow.Substring(68, 100)
End Sub
End Class
Looking at the screenshot and the code it looks like you're trying to put a decimal number into an integer column and you simply can't do that. You'll have to change either the type of the output column (try using DT_DECIMAL) or change CDbl to CInt.
-Jamie
No comments:
Post a Comment