|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
Добрый день! Столкнулся с проблемой, природа которой мне не очень понятна - возможно, кто-то сможет пояснить, как с ней бороться. Возникла необходимость подключиться к каше из VBA (экселевского, в модельном случае). Написал соответствующий код, подключил CacheObject в References - на моей машине все отработало. Попытался запустить тот же код на машине, где с этой программой должны работать - выдается сообщение об ошибке ActiveX component can't create object or return reference to this object (Error 429) В принципе, между машинами есть два основных различия: у меня WinXP и стоит каше-сервер (введена лицензия), на той машине Win7 и стоит только клиент. Но: аналогично подключающиеся с CacheFactory клиентские программы, написанные на Delphi, там работают безо всяких проблем. MSDN предлагает следующие варианты причины: 1. The class isn't registered. 2. A DLL required by the object can't be used, either because it can't be found, or it was found but was corrupted. 3. The object is available on the machine, but it is a licensed Automation object, and can't verify the availability of the license necessary to instantiate it. Мне кажется, если бы причина была в одном из 1-3, то не работали бы и программы на дельфи You are trying to use the GetObject function to retrieve a reference to class created with Visual Basic. - тоже вроде бы мимо Access to the object has explicitly been denied. For example, you may be trying to access a data object that's currently being used and is locked to prevent deadlock situations. If that's the case, you may be able to access the object at another time. И это, как мне кажется, тоже не должно происходить. Код тривиальный: ---------------- Код: vbnet 1. 2. 3. 4. 5. 6.
Дальше там идет обращение к запросу - заполнить ComboBox - но до него дело не доходит. На клиентской машине подключение идет к "боевому" серверу - но с моей машины нормально работает и с ним, так что не думаю, что причина может быть в этом. ------------------ Не подскажите, в чем может быть дело? К сожалению, отобрать машину у пользователя и экспериментировать на ней в свое удовольствие возможности нет :) С уважением, Михаил. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 11:04 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
На вашей машине работает потому что у вас на машине установлен Cache' На той машине на которой должно работать, судя по всему конечно нет, и не установлены необходимые библиотеки. Самый простой путь решения проблемы, это установить на той машине Cache', но только клиентские компоненты. или можно сделать иначе, нужно собрать все необходимые DLL, и запустить bat-ник regfiles.bat ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 11:21 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
Mike Ivanov , Если проект на Delphi работает, то возможно разрядности не совпадают, например у клиента установлен Excel x64. Старый CacheObject.dll поддерживается только в 32-битной версии , тогда как новый CacheActiveX.dll - для обоих вариантов. PS: подробности см. здесь , в том числе и про распространение приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 12:00 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
Да, это похоже на правду. Я пробовал на той машине еще из одной программы (под которую все и затевается, на самом деле - SolidWorks), но она, наверное, тоже 64. А каше - пятерка, явно 32. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 12:03 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
DAiMor, тогда почему дельфовая клиентская программа нормально работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 12:04 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
Mike IvanovDAiMor, тогда почему дельфовая клиентская программа нормально работает?Да, про делфи я не сразу заметил. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 12:06 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
Mike Ivanov, У вас есть уверенность, что дельфи-программа подключается именно через Factory? Она ведь может и через VisM (Cache Direct), и через ODBC... Если уверенность есть, попробуйте подключиться чем-то более стандартным. Например, Проводником или Студией. Да, их придётся установить (как вам советуют, в составе клиента Cache), но что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 13:25 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
Alexey Maslov, Да, дельфи-прога определенно через factory - сам писал :) Возможно, попробую перейти на ADO в VBA-программе - попытка просто скопировать CacheActiveX и подключить в проект результатов не дала (если не считать того, что на моей машине тоже перестало работать :)) - вероятно, чтобы она работала, надо новый клиент целиком ставить (всякие 2009-го года версии у меня тоже есть, но опасаюсь, не полезет ли какая-нибудь несовместимость, если я оставлю старый сервер и установлю новый клиент). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 13:36 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
Mike Ivanov, Насколько помню, CacheActiveX в Cache 5.0 ещё не было. Может, чем-то поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 13:39 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
Mike Ivanovно опасаюсь, не полезет ли какая-нибудь несовместимость, если я оставлю старый сервер и установлю новый клиентПравильно опасаетесь: так не нужно делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 13:40 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
Это существенно, т.к. у CacheObject и CacheActiveX разные протоколы обмена с сервером. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 13:40 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
Alexey MaslovЭто существенно, т.к. у CacheObject и CacheActiveX разные протоколы обмена с сервером. В таком случае, продолжать с ним воевать, наверное, и смысла не имеет. Вариант все взять и проапгрейдить я рассматриваю, но как совсем уж крайнюю меру, к которой не хотелось бы прибегать без крайней нужды. Попробую ADO или ViSM. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 13:57 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
Финальное: в итоге сделал через ADO, все работает. Спасибо всем ответившим за подсказки, а то я бы еще много времени на бесплодные попытки убил. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 15:37 |
|
Проблема с подключением к Cache из VBA - error 429
|
|||
---|---|---|---|
#18+
В личной переписке попросили привести пример кода с подключением через ADO. Примерно так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2014, 15:11 |
|
|
start [/forum/topic.php?fid=39&msg=38677219&tid=1556858]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 172ms |
0 / 0 |