I am new user on VB ( I wish ssis support c# script)
I have made a input string type column ( strName ) in script componen as ReadWrite.
In my script, I did following:
Row.strName = Row.strName + prefix
But I got following error at runtime:
The value is too large to fit in the column data area of the buffer.
at Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer.SetString(Int32 columnIndex, String value)
at Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer.set_Item(Int32 columnIndex, Object value)
at Microsoft.SqlServer.Dts.Pipeline.ScriptBuffer.set_Item(Int32 ColumnIndex, Object value)
at ScriptComponent_98d10a05854c460792443f2345d5d806.Input0Buffer.set_strName(String Value)
at ScriptComponent_98d10a05854c460792443f2345d5d806.ScriptMain.Input0_ProcessInputRow(Input0Buffer Row)
at ScriptComponent_98d10a05854c460792443f2345d5d806.UserComponent.Input0_ProcessInput(Input0Buffer Buffer)
at ScriptComponent_98d10a05854c460792443f2345d5d806.UserComponent.ProcessInput(Int32 InputID, PipelineBuffer Buffer)
at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer)
Could anyone tell me what I did wrong?
Thanks!
Jun Fan wrote:
I am new user on VB ( I wish ssis support c# script)
It does. In SQL Server 2008!
Jun Fan wrote:
I have made a input string type column ( strName ) in script componen as ReadWrite.
In my script, I did following:
Row.strName = Row.strName + prefix
But I got following error at runtime:
The value is too large to fit in the column data area of the buffer.
at Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer.SetString(Int32 columnIndex, String value)
at Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer.set_Item(Int32 columnIndex, Object value)
at Microsoft.SqlServer.Dts.Pipeline.ScriptBuffer.set_Item(Int32 ColumnIndex, Object value)
at ScriptComponent_98d10a05854c460792443f2345d5d806.Input0Buffer.set_strName(String Value)
at ScriptComponent_98d10a05854c460792443f2345d5d806.ScriptMain.Input0_ProcessInputRow(Input0Buffer Row)
at ScriptComponent_98d10a05854c460792443f2345d5d806.UserComponent.Input0_ProcessInput(Input0Buffer Buffer)
at ScriptComponent_98d10a05854c460792443f2345d5d806.UserComponent.ProcessInput(Int32 InputID, PipelineBuffer Buffer)
at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.ProcessInput(Int32 inputID, PipelineBuffer buffer)
Could anyone tell me what I did wrong?
Thanks!
What is "prefix"?|||
Jun Fan wrote:
In my script, I did following:
Row.strName = Row.strName + prefix
But I got following error at runtime:
The value is too large to fit in the column data area of the buffer.
Could anyone tell me what I did wrong?
Thanks!
Your concatenated string is too long for the defined datatype of the strName column.
|||
Prefix is another input string column.
Does string property on Row object is fixed length? If so what is legth. I don't have any very long string. Current my street name, and prifix were in two seperate input column. I was trying to concatenate them together.
For example, strName is "200", prefix is "E". I need put them in a single column as "200 e".
Any suggestion?
Thanks for help.
|||
Jun Fan wrote:
Prefix is another input string column.
Does string property on Row object is fixed length? If so what is legth. I don't have any very long string. Current my street name, and prifix were in two seperate input column. I was trying to concatenate them together.
For example, strName is "200", prefix is "E". I need put them in a single column as "200 e".
Any suggestion?
Thanks for help.
Right, but if strName is defined as three bytes, and you try to add another byte from "prefix," it will fail beacuse four bytes is larger than the defined three byte maximum for strName.|||
Thanks for helping.
Yes, My streetName and prefix both are DT_WSTR wiht max lengh 100. Even the acutual value on each property is a couple char, but it take up all lengh. So I could not concatenate them without trim both property.
Thanks Again!
Jun
No comments:
Post a Comment