我正在使用以下代码从 HP ALM 12.5 导出项目(使用 ALM Connectivity - OTA)。目前,它在以下行失败:sa.ExportProject v_domain、v_project、v_fileName 并带有错误消息:“运行时错误 '-2147220350 (80040482): Invalid server response [ERR-SEP]。纠正此错误的任何反馈都将是赞赏。
先感谢您。
这是代码:
Sub ALM_Backup()
Dim v_qcURL, sa, v_username, v_pasword
Dim v_domain, v_project, v_date, v_fileName, bugId, v_summary
Dim v_projectList, v_domainProject, v_domainProjectArray
' The following code is to move the existing files from to source to destination folder
Dim fso
Dim sfol As String
Dim dfol As String
sfol = "C:\ALM Backup"
dfol = "C:\ALM Backup Archive"
Set fso = CreateObject("Scripting.FileSystemObject")
 fso.MoveFile (sfol & "\*.*"), dfol 'Change "\*.*" to "\*.qcp"
v_qcURL = "https://qcurl"
v_projectList = "Domain1:Project1;Domain2:Project2;Domain3:Project3"
v_username = "userid"
v_password = "password"
For Each v_domainProject In Split(v_projectList, ";")
 v_domainProjectArray = Split(v_domainProject, ":")
 v_domain = v_domainProjectArray(0)
 v_project = v_domainProjectArray(1)
 v_year = Year(Now)
 v_month = Month(Now)
 v_day = Day(Now)
 v_hour = Hour(Now)
 v_minute = Minute(Now)
 v_second = Second(Now)
If v_month < 10 Then
  v_month = "0" & v_month
 End If
 If v_day < 10 Then
  v_day = "0" & v_day
 End If
 If v_hour < 10 Then
  v_hour = "0" & v_hour
 End If
 If v_minute < 10 Then
  v_minute = "0" & v_minute
 End If
 If v_second < 10 Then
  v_second = "0" & v_second
  End If
v_date = v_year & v_month & v_day & v_hour & v_minute & v_second
  v_fileName = "C:\ALM_Backup" & v_date & "_" & v_project & ".qcp"
 v_summary = "For project <" & v_domainProject & "> backup started: " & v_date
 bugId = openDefect(v_summary)
 Set sa = CreateObject("SAClient.SaApi")
 sa.Login v_qcURL, v_username, v_password
sa.SendAllQualifiedNow "IT", "QA_Internal_Projects"
 sa.SendMessageToProjectConnectedUsers v_domain, v_project, "This project is going to be deactivated due to maintenence."
 sa.DisconnectProject v_domain, v_project
 sa.DeactivateProject v_domain, v_project
 sa.ExportProject v_domain, v_project, v_fileName
 sa.ActivateProject v_domain, v_project
 Set fs = CreateObject("Scripting.FileSystemObject")
 Set f = fs.GetFile(v_fileName)
 fixAndCloseDefect bugId, v_fileName & ": " & Round((f.Size / 1024) / 1024, 2) & " MB"
 sa.SendAllQualifiedNow "IT", "QA_Internal_Projects"
Next
sa.Logout
End Sub
Function openDefect(p_summary)
 v_detectionDate = Day(Now) & "." & Month(Now) & "." & Year(Now)
 If Day(Now) < 10 Then
  v_detectionDate = "0" & Day(Now) & "." & Month(Now) & "." & Year(Now)
 End If
 If Month(Now) < 10 Then
  v_detectionDate = Day(Now) & ".0" & Month(Now) & "." & Year(Now)
 End If
 If Month(Now) < 10 And Day(Now) < 10 Then
  v_detectionDate = "0" & Day(Now) & ".0" & Month(Now) & "." & Year(Now)
 End If
Set tdc = CreateObject("TDApiOle80.TDConnection")
 tdc.InitConnectionEx "http://qcurl"
 tdc.Login "userid", "password"
 tdc.Connect "IT", "QA_Internal_Projects"
Set bfact = tdc.BugFactory
 Set mybug = bfact.AddItem(Null)
 mybug.Summary = p_summary
 mybug.Status = "Open"
 mybug.Field("BG_SEVERITY") = "2-Medium"
 mybug.DetectedBy = "userid"
 mybug.Field("BG_DETECTION_DATE") = Date
 mybug.Post
 bugId = mybug.ID
 tdc.Logout
 tdc.Disconnect
 openDefect = bugId
End Function
Function fixAndCloseDefect(p_bugId, p_comment)
 Set tdc = CreateObject("TDApiOle80.TDConnection")
 tdc.InitConnectionEx "https://qcurl"
 tdc.Login "userid", "passsword"
 tdc.Connect "IT", "QA_Internal_Projects"
 Set bfact = tdc.BugFactory
    Set bgfilter = bfact.Filter
    bgfilter.Filter("BG_BUG_ID") = p_bugId
    Set bglist = bgfilter.NewList
 For Each theBug In bglist
  Set bg = bfact.Item(theBug.ID)
  bg.Field("BG_STATUS") = "Closed"
  bg.Field("BG_DEV_COMMENTS") = "Backup completed on <backup_host>: " &      p_comment
  bg.Post
 Next
 tdc.Logout
 tdc.Disconnect
End Function