Как удалить установленный шаблон строки в SSIS? - PullRequest
0 голосов
/ 16 января 2009

Я хочу изменить строку. В ssis у меня есть шаг, который является «Редактором преобразования производного столбца». У меня есть строка, такая как:

edit=style?form=exy?test=x~~StringIWantToRemove

Я хочу удалить "~~ StringIWantToRemove" «~~» - это разделитель StringIWantToRemove - случайная строка любого значения (кроме разделителя)

Я бы попытался найти индекс ~~, затем len строки, затем удалить из этой точки, но не уверен, как это сделать в ssis.

помощь

Ответы [ 2 ]

1 голос
/ 17 января 2009

Я бы подумал об использовании задачи сценария с регулярным выражением - это, вероятно, проще, чем попытка перевести его в однострочник в производной задаче столбца.

0 голосов
/ 21 января 2009

В конце я использовал компонент скрипта:

Dim debugOn As Boolean
debugOn = False

If debugOn Then MsgBox(Row.trackingCode)
If Row.trackingCode <> "" Then
    ' find the delimiter location
    Dim endLocation As Integer
    If debugOn Then MsgBox("index of ~~ is " & Row.trackingCode.ToString().IndexOf("~~", 0))
    ' chk if we have ~~ in field, if not in field then -1 is returned
    If Row.trackingCode.ToString().IndexOf("~~", 0) > -1 Then
        ' if ~~ at the beginning ie no tracking code
        If Row.trackingCode.ToString().IndexOf("~~", 0) = 1 Then
            endLocation = Row.trackingCode.ToString().IndexOf("~~", 0)
        ElseIf Row.trackingCode.ToString().IndexOf("~~", 0) > 1 Then
            endLocation = Row.trackingCode.ToString().IndexOf("~~", 0) - 1
        End If
        If debugOn Then MsgBox("end of track code is " & endLocation)
        Row.trackingCode = Row.trackingCode.Substring(1, endLocation)
    End If
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...