我正在编写一个使用 VB 脚本发送几封确认电子邮件的 SSIS 包。其中一封确认电子邮件需要包含来自其中一位连接管理器的服务器名称。我有一个执行以下操作的脚本:
Public Sub Main()
'------------- Set Vriables
Dim htmlMessageTo As String = _
Dts.Variables("Email_To").Value.ToString
Dim htmlMessageCC As String = _
Dts.Variables("Email_CC").Value.ToString
Dim htmlMessageFrom As String = _
Dts.Variables("Email_From").Value.ToString
Dim ServerAConnectionString As String = _
DirectCast(Dts.Connections("ServerA").AcquireConnection(Dts.Transaction), String)
Dim smtpConnectionString As String = _
DirectCast(Dts.Connections("Mail1").AcquireConnection(Dts.Transaction), String)
Dim smtpServerStr As String = _
smtpConnectionString.Split(New Char() {"="c, ";"c})(1)
Dim smtpServer As New SmtpClient(smtpServerStr)
Dim myMail As New MailMessage
With myMail
.From = New MailAddress(htmlMessageFrom)
.To.Add(htmlMessageTo)
If Len(htmlMessageCC) > 0 Then
.CC.Add(htmlMessageCC)
End If
.IsBodyHtml = True
.Subject = "The process failed for server " & ServerAConnectionString
.Body = "The process failed for server " & ServerAConnectionString
End With
smtpServer.Send(myMail)
Dts.TaskResult = ScriptResults.Success
End Sub
我试图仅获取 ServerA 的服务器名称。连接管理器 Mail1 是我正在使用的 SMTP 服务器。我的其他字符串一切正常,但这个特殊的字符串给了我一个错误。我相信我可以得到连接字符串,但不知道足够的 VB 来解析它。我希望有一种方法可以进入连接对象并查看服务器名称属性,我只是找不到它。