Cannot Create Automation Object

Тема в разделе "Lotus - Администрирование", создана пользователем NickProstoNick, 30 сен 2010.

  1. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Всем привет!
    Пытаюсь доступиться к xls файлу через ADO. Windows 2003 Server 64dit . Офиса нет.
    Пи попытке создания объекта Excell.Application возникает ошибка Cannot create automation object. Кто-то сталкивался?
    Вопрос ГОРИТ!!!!
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    А какой объект создаёшь.
    Я так понимаю, проблема в этом:
     
  3. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Excell.Application
     
  4. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Ну так без проинсталленого офиса такого COM объекта не будет зарегистрировано в системе.
    Так что или ставить офис, или, как выражается один уважаемый участник форума, "майрософтовские пердульки" выпилить, перейдя на джаву или что-то в этом роде.
     
  5. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Хорошо... есть еще одна проблема.... через тот же ADO пытаюсь доступиться к свойствам поля в таблице MS SQL

    Код (LotusScript):
    Set RecordSet = CreateObject("ADODB.Recordset")
    RecordSet.Open ....
    StrSize = RecordSet( "..." ).DefinedSize
    Объект открывается, доступ к данным есть... а вот к DefinedSize нету. возвращает ошибку "Не соответствие типов". Хотя этого быть не может.
    Дело в том, что с рабочей станции все работает. С сервера нет

    Вопрос с Excell'ем решил... что-то тупанул сразу... А вот с доступом к MS SQL не понятно пока
     
  6. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    NickProstoNick
    забудьте про OLE

    я только недавно вылечился от падения сервера(из-за CreateObject("ADODB.Recordset") ) заюзав JAVA для коннекта к МС SQL

    А эксель не запускаеться именно потому что офис не установлен.

    ps
    чтото не нахожу такого свойства у рекордсета
    http://www.w3schools.com/ado/ado_ref_recordset.asp
     
  7. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Пользуюсь этим же ресурсом :)
    И прикол в том, что все работало около года... до замены сервера. :)

    А по поводу JAVA пробовал курить - не получается :(
    Разные версии серверов... разные строки соединения.... и т.д.

    но в любом случае сначала надо решить вопрос который есть... а переписыванием займусь позже
     
  8. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    начсчет явы это ВЫ зря

    строку соединения можно и нужно формировать динамически в зависимости от задачи

    на яве законектиться это 3 строчки:

    Код (C++):
    DriverManager.registerDriver(new    com.microsoft.sqlserver.jdbc.SQLServerDriver());
    connection = DriverManager.getConnection( tmpDoc.getItemValueString("sqlConn"), tmpDoc.getItemValueString("sqlLogin"), tmpDoc.getItemValueString("sqlPass") );
    + скачать пакет от МС - jdbc 1.2
     
  9. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Это все классно... но сначала надо решить вопрос с тем что есть. а потом переписывать
    Завтра последний день перед отпуском... на тотальное переписывание нет времени.
    И вот собственно еще такой вопрос.... это же наверное полностью все переписывать под Java? Или можно будет как-то сrрестить lotusscript и Java? Просто с таким еще не сталкивался
     
  10. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Для этого есть LS2J (ищем в справке дизайнера).
     
  11. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
    С завидной регулярностью появляется эти месаджи по Cannot create. Не скажу, что боян - сам сталкивался, едва разобрался.
    В общем запускаете из командной строки dcomcnfg. Там смотрите в свойствах DСOM приложения Excel и в Удостоверении ставите не Запускающий пользователь, а Текущий пользователь. Иногда требуется указать явно имя пользователя с админскими правами. Тогда этот юзер будет автром создаваемого Excel-обжекта в свойствах файла.

    Закрепите, чтоль, админы, или в FAQ.
     
  12. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Конечно курить не получится, бумага тяжелая, краска ядовитая... Читать ее надо было.
    я у себя не нашел екселя, где-то он спрятан глубоко
     
  13. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
    Если он не установлен, то и не найдете. Первоначально в топике не было упоминания про не установленный Excel.
    По картинке ищите.
    http://fotki.yandex.ru/users/netwood/view/311658/?page=0
     
  14. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    установлен, но кто знает как он в том списке зовется ))
     
  15. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    вероятно "Приложение Microsoft Excel"
     
  16. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Нед :) У меня стоит Винда 7, англицкая, с украинским пакетом, на которой стоит украинский офис 2007, в итоге в той тулзе нет ничего схожего с ексель, зато есть куча сидовых записей, типа {7007ACD1-3202-11D1-AAD2-00805FC1270E}. Вот какая-то из них точно ексель )))
    Да и какая фиг разница, я просто так сказал, что у меня нет в списке ;)
     
  17. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.079
    Симпатии:
    300
    Akupaka
    вот сегда так с МС - не угадаешь чего, в какой версии и куда запишут ;)...
    потому я избегаю КОМов и МСО (максимально - где возможно) :)
    потому как часто пишут софт http://alexmak.net/blog/2010/10/08/sw-in-india/ и образом отображённым на скульптуре ...
    афтора, в его отношении, поддерживаю ;)
     
  18. imendan

    imendan Well-Known Member

    Регистрация:
    22 сен 2010
    Сообщения:
    97
    Симпатии:
    0
    Доброе время суток, Друзья! И в очередной раз без вашего совета никак (
    Есть агент по расписанию. На всех серверах он работает как по маслу, но вот есть один сервер, где он на строке Set Client = CreateObject("MSSOAP.SoapClient30") выдает ошибку Cannot create automation object.
    Хотя запускаю этот агент "Раном" на серваке через Лотус Дизайнер, все запускается и работает правильно! Все права дал, базы прописывал, в Документе Сервере во вкладке Безопасность везде добавил учетку Админа. Но вот никак, хотя, повторюсь, на других серверах то же самое работает прекрасно.
    Сервер - Windows Server Enterprize.
    Domino Server 8.5
    :(
     
  19. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Похоже, на сервере регистрация в реестре слетела. Когда пускаете агента на клиенте, объект создаётся на клиенте, где очевидно с регистрацией всё в порядке, потому отрабатывает без ошибок.
     
  20. erdi

    erdi Well-Known Member

    Регистрация:
    20 авг 2008
    Сообщения:
    261
    Симпатии:
    36
    Данная ошибка говорит что в ОС нет зарегистрированного объекта MSSOAP. Попробуй зарегистрировать данный объект на сервере и повторить попытку.
    То что все работает когда запускаешь через run, объясняется тем, что объект создается не на сервере, а на твоей машине, на которой MSSOAP уже зарегистрирована
     
Загрузка...
Похожие Темы - Cannot Create Automation
  1. motogarri
    Ответов:
    6
    Просмотров:
    326
  2. imendan
    Ответов:
    7
    Просмотров:
    1.546
  3. dimat
    Ответов:
    46
    Просмотров:
    3.687
  4. wowa
    Ответов:
    23
    Просмотров:
    1.606
  5. dzheyzhi
    Ответов:
    6
    Просмотров:
    2.008

Поделиться этой страницей