Мой текущий пакет состоит из источника Excel, компонента Script и назначения OLE DB. Все, что я пытаюсь сделать, это преобразовать одну из моих столбцов. Для этого конкретного столбца я хочу подстроку столбца. Однако я продолжаю получать следующее сообщение об ошибке:SQL Server SSIS нет текущей строки
There is no current row in the buffer. A row may need to be added using the AddRow method.
at Microsoft.SqlServer.Dts.Pipeline.ScriptComponentHost.HandleUserException(Exception e)
Что это значит? Почему мне нужно добавлять строки, когда все, что я делаю, - это преобразование данных? Мне не хватает большой картины о SSIS?
Вот мой код в скрипте:
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
OutBuffer.labortypewbs = Row.CopyofLevel2ProjectSegment.Substring(Row.CopyofLevel2ProjectSegment.Length - 2, 2);
}
Спасибо за помощь!
Вы можете разместить код, который вы написали в компоненте сценария – praveen
@praveen Я был бы рад. – CodeKingPlusPlus
Вам нужно добавить строку до того, как вы присвойте значения в выходной столбец. Завершите добавление оператора OutBuffer.AddRow() перед оператором outbuffer.labortypewbs = ......... – praveen