SSIS читает ключи реестра со значениями по умолчанию - PullRequest
0 голосов
/ 25 апреля 2009

У меня есть сценарий в пакете служб SSIS, который должен получить строковое значение из реестра. Если значение реестра существует и в нем есть значение, оно возвращает значение штрафа. Если раздел реестра не существует или значение пустое, я не могу получить значение по умолчанию по какой-либо причине. Я пробовал три разных способа сделать это, но не могу заставить его работать.
Я попытался использовать Registry.GetValue и указать значение по умолчанию, Registry.LocalMachine.CreateSubKey и Registry.LocalMachine.GetValue. Я даже пытался явно проверить на нулевую или нулевую длину, кажется, ничего не работает ... Что я делаю не так?

Public Sub Main()
    'Dim strValue As String = DirectCast(Registry.LocalMachine.GetValue("SOFTWARE\MyComp\SSIS\IPSEmail\strLastDate", DateTime.Now.ToString("MMM dd, yyyy HH:mm:ss")), String)
    'Dim strValue As String = DirectCast(Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\MyComp\SSIS\IPSEmail", "strLastDate", DateTime.Now.ToString("MMM dd, yyyy HH:mm:ss")), String)
    Dim strValue As String = DirectCast(Registry.LocalMachine.CreateSubKey("SOFTWARE\MyComp\SSIS\IPSEmail\strLastDate").GetValue("strLastDate", DateTime.Now.ToString("MMM dd, yyyy HH:mm:ss")), String)

    If (strValue = Nothing Or strValue.Length = 0) Then
        strValue = DateTime.Now.ToString("MMM dd, yyyy HH:mm:ss")
    End If

    Dts.ExecutionValue = strValue

    Dts.TaskResult = Dts.Results.Success
End Sub

1 Ответ

1 голос
/ 25 апреля 2009

Вы пробовали strValue Is Nothing?

Если это не сработает, установите в коде точку останова и выясните, на что устанавливается strValue, когда он объявлен, а раздел реестра не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...