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