jhovyn Ответов: 1

VB6-как вернуть значение ошибки DTS, если соединение не удалось?


У меня есть DTS в VB6...я хочу создать оператор, если мое соединение DTS успешно, а если нет, то функция error вернет значение..Пожалуйста, смотрите мой код ниже

Что я уже пробовал:

Модуль1.бас
Public Function Student()
      ....DTS Connection Details

   goPackage.Execute
   tracePackageError goPackage
   goPackage.UnInitialize

    End Function

     Public Function tracePackageError(Optional ByVal oPackage As DTS.Package) As String
          Dim ErrorCode As Long
          Dim ErrorSource As String
          Dim ErrorDescription As String
          Dim ErrorHelpFile As String
          Dim ErrorHelpContext As Long
          Dim ErrorIDofInterfaceWithError As String
          Dim i As Integer

For i = 1 To oPackage.Steps.Count            
     If oPackage.Steps(i).ExecutionResult = DTSStepExecResult_Failure Then
        oPackage.Steps(i).GetExecutionErrorInfo ErrorCode, ErrorSource,  ErrorDescription,ErrorHelpFile, ErrorHelpContext, ErrorIDofInterfaceWithError                                      
tracePackageError = oPackage.Steps(i).Name & " failed" & vbCrLf & ErrorSource & vbCrLf & ErrorDescription

Exit Function
End If
Next i
End Function

Форма 1
If tracePackageError <> "" Then
         MsgBox "error occured:" & vbCrLf & tracePackageError

         else
         Student
         Msgbox "Success!"
   End If

Richard MacCutchan

VB6 был отозван много лет назад; переключитесь на VB.NET.

jhovyn

У меня нет другого выбора.наша программа все еще работает в VB6

1 Ответов

Рейтинг:
2

Maciej Los

Проверить это: Устранение неполадок пакетов DTS, запускаемых из приложений Visual Basic[^] - Реализация Пакетных Событий раздел.


jhovyn

@Маци
Спасибо Вам за эту ссылку..Я уже читал эту статью, но она не решает мою проблему...Спасибо еще раз