2015-02-04 6 views
0

У нас есть приложение VB6, которое использует некоторые DLL на локальной машине. Теперь мы хотим перенаправить DLL на удаленный сервер COM +.Как работать с DCOM с помощью приложения VB6? Я получаю ошибку 462

Я зарегистрировал приложение COM на сервере и экспортировал его в качестве прокси-сервера .msi, установил его на свою локальную машину.

при запуске приложения отображается сообщение об ошибке «Runtime error» 462 «Удаленный серверный компьютер не существует или недоступен».

Когда я пробовал отладку, я обнаружил, что не удается вызвать одну из моих распределенных библиотек DLL.

Вопрос: Что я делаю неправильно? и что я могу сделать, чтобы решить эту проблему?

Dim oRefE As UtilitairesClientMal.Erreurs 
Dim oRefTR As UtilitairesClientMal.TablesReference 

Set oRefE = Новый UtilitairesClientMal.Erreurs «он не здесь и переходит на следующий hilighted линию

g_sNomMachine = oRefE.NomMachineConnecte 
g_sNomUtilisateur = oRefE.NomUtilisateurConnecte 
Set oRefE = Nothing 

........

Dim MonErreur Как ALWErreur.Erreur

Set MonErreur = New ALWErreur.Erreur 
  • Локальная машина W7 (32 бита)
  • Сервер является Windows Server 2008 (32 бит)

Пожалуйста, будьте добры :) если кто нуждается в разъяснении, что может помочь только комментировать (Я не очень опытен с VB6 и с COM +, так что извините мое невежество :()

+1

Не уверен, потому что я сам этого не делал, но считаю, что вам нужно использовать позднюю привязку, т. Е. CreateObject. Кроме того, имеет ли сервер более 1 сетевой карты? – jac

+0

@jac У меня есть проверка, у сервера есть две сетевые карты, я проверяю в реестре «HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Rpc \ DCOM» ключевые DCOM-протоколы имеют значение «ncacn_ip_tcp» Могу ли я использовать IP-адрес вместо сервера имя ? – TheSM

+1

Я не знаю, потому что это, возможно, проблема, но вот пара ссылок на статьи о проблемах с kb. http://support.microsoft.com/kb/183930/EN-US, http://support.microsoft.com/kb/269330/en-us – jac

ответ

0

Точная проблема была связана с тем, что на моем сервере есть два сетевых адаптера.

Я установил его с помощью IP-адреса вместо имени сервера:

На моей clinet машины> DCOMCNFG> MYAPP Свойства> Активация> Remote Name Server

Тогда я получил Securtiy ошибки говоря «Разрешение отказано (70)», я исправил его, изменив ограничения безопасности:

На сервере> dcomcnfg> Компьютеры> Свойства> COM Sercurity> отмечен: удаленный запуск ион для «КАЖДЫЙ»

Я надеюсь, что это поможет кому-то, в один прекрасный день. Если кому-то понадобится объяснение, я буду счастлив.

Благодаря jac он дал мне представление о проблеме.

 Смежные вопросы

  • Нет связанных вопросов^_^