2016-04-13 3 views
1

У меня есть 2 ALM (11 и 12.5), с приведенным ниже кодом, я могу подключиться к ALM11, но он говорит, что неверное имя пользователя и пароль для 12,5 ALM (учетные данные правильны)Не удалось подключиться к ALM 12.5 с помощью макроса vb

Function ALM_Connection(ByRef TDConnection, server, user, pwd) 

    On Error Resume Next 
    Dim fileArray 
    almLogin.connectionMessage.ForeColor = vbBlue 
    Set TDConnection = CreateObject("tdconnection") 
    sUserName = user 
    sPassword = pwd 
    If Trim(sUserName) = "" Or Trim(sPassword) = "" Then 
     almLogin.connectionMessage.ForeColor = vbRed 
     almLogin.connectionMessage.Caption = "Please Enter the data and click on 'Authenticate'" 
     ALM_Connection = False 
     Exit Function 
    End If 
    almLogin.connectionMessage.Caption = " Please Wait.. " 
    Application.Wait (Now + TimeValue("0:00:02")) 
    TDConnection.InitConnectionEx server 
    TDConnection.Login sUserName, sPassword 

    If (TDConnection.loggedin <> True) Then 
     almLogin.connectionMessage.ForeColor = vbRed 
     almLogin.connectionMessage.Caption = "Invalid UserName or Password" 
     ALM_Connection = False 
     Exit Function 
    Else 
     almLogin.connectionMessage.Caption = "Logged In Successfully" 
     ALM_Connection = True 
    End If 

End Function 

любая помощь ценится

+0

Работает ли 12.5 с ранним связыванием вместо позднего связывания/'CreateObject'? –

+0

@ Кружка Мата: можете ли вы дать, пожалуйста, дайте мне подсказку, как это проверить? – Venkat

+0

Мех, я не думаю, что это имеет какое-то отношение к позднему/раннему связыванию. FWIW вы можете раннее связывать зависимость, просматривая ее библиотеку в меню «Инструменты/ссылки», а затем вы можете «Установить соединение = Создать TDConnection» вместо «CreateObject». Причина. Я не думаю, что это потому, что вы * получаете ответ («неверное имя пользователя/пароль» - ответ), поэтому все работает. Вы справляетесь с ошибками во время выполнения? Связаны ли две версии с одним и тем же местом? –

ответ

0

Я обычно использую ниже синтаксис для создания объекта OTA

Set TDconnection = CreateObject ("tdapiole80.tdconnection")

Однако, поскольку подключение и аутентификация заключены внутри «On Error Resume Next», сообщение об ошибке может фактически не отражать реальную причину.

Итак, это то, что я сделал бы для отладки.

  1. Удалить Ошибка на Resume Next и проверьте, может ли код создать TDConnection объект
  2. Установка правильной версии HP ALM Addin.
  3. Console Out «Err.Description», чтобы понять истинную причину
0

Как я могу видеть из кода он выдает сообщение «Неверный логин или пароль» в любом случае, когда TDConnection.loggedin свойство не верно, но это может быть по другой причине, например неправильная библиотека OTAClient.dll (они не поддерживают обратную совместимость). Поэтому в общем случае вам необходимо зарегистрировать свой клиент ALM на машине (server_url/qcbin -> Tools -> Register client), а затем попробовать еще раз.

Если это не помогает, вы можете попробовать переписать свой код, используя образец из официальной документации http://alm-help.saas.hpe.com/en/12.50/api_refs/ota/topic96.html

+1

Добро пожаловать в SO! Пожалуйста, попробуйте и воздержитесь от * просто * связывая образцы кода в вашем ответе. Нет ничего плохого в публикации ссылки, но я бы предположил, что вы могли бы опубликовать некоторые соответствующие фрагменты из ссылки, в случае, если ссылка не работает. –

0

Эта проблема связана с проектом недоступного. Также проверьте, есть ли у вас доступ к любому из проектов в версии 12.5.

Спасибо.