• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Cannot Create Automation Object

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Всем привет!
Пытаюсь доступиться к xls файлу через ADO. Windows 2003 Server 64dit . Офиса нет.
Пи попытке создания объекта Excell.Application возникает ошибка Cannot create automation object. Кто-то сталкивался?
Вопрос ГОРИТ!!!!
 
O

Omh

Ну так без проинсталленого офиса такого COM объекта не будет зарегистрировано в системе.
Так что или ставить офис, или, как выражается один уважаемый участник форума, "майрософтовские пердульки" выпилить, перейдя на джаву или что-то в этом роде.
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Ну так без проинсталленого офиса такого COM объекта не будет зарегистрировано в системе.
Так что или ставить офис, или, как выражается один уважаемый участник форума, "майрософтовские пердульки" выпилить, перейдя на джаву или что-то в этом роде.
Хорошо... есть еще одна проблема.... через тот же ADO пытаюсь доступиться к свойствам поля в таблице MS SQL

Код:
Set RecordSet = CreateObject("ADODB.Recordset")
RecordSet.Open ....
StrSize = RecordSet( "..." ).DefinedSize

Объект открывается, доступ к данным есть... а вот к DefinedSize нету. возвращает ошибку "Не соответствие типов". Хотя этого быть не может.
Дело в том, что с рабочей станции все работает. С сервера нет

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

morpheus

NickProstoNick
забудьте про OLE

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

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

ps
чтото не нахожу такого свойства у рекордсета
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
NickProstoNick
забудьте про OLE

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

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

ps
чтото не нахожу такого свойства у рекордсета
Пользуюсь этим же ресурсом :)
И прикол в том, что все работало около года... до замены сервера. :)

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

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

morpheus

начсчет явы это ВЫ зря

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

на яве законектиться это 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
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Это все классно... но сначала надо решить вопрос с тем что есть. а потом переписывать
Завтра последний день перед отпуском... на тотальное переписывание нет времени.
И вот собственно еще такой вопрос.... это же наверное полностью все переписывать под Java? Или можно будет как-то сrрестить lotusscript и Java? Просто с таким еще не сталкивался
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Excell.Application возникает ошибка Cannot create automation object.
С завидной регулярностью появляется эти месаджи по Cannot create. Не скажу, что боян - сам сталкивался, едва разобрался.
В общем запускаете из командной строки dcomcnfg. Там смотрите в свойствах DСOM приложения Excel и в Удостоверении ставите не Запускающий пользователь, а Текущий пользователь. Иногда требуется указать явно имя пользователя с админскими правами. Тогда этот юзер будет автром создаваемого Excel-обжекта в свойствах файла.

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

Akupaka

А по поводу JAVA пробовал курить - не получается
Конечно курить не получится, бумага тяжелая, краска ядовитая... Читать ее надо было.
Там смотрите в свойствах DСOM приложения Excel
я у себя не нашел екселя, где-то он спрятан глубоко
 
A

Akupaka

установлен, но кто знает как он в том списке зовется ))
 
A

Akupaka

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

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 933
609
BIT
178
Akupaka
вот сегда так с МС - не угадаешь чего, в какой версии и куда запишут ;)...
потому я избегаю КОМов и МСО (максимально - где возможно) :)
потому как часто пишут софт и образом отображённым на скульптуре ...
афтора, в его отношении, поддерживаю ;)
 

imendan

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

nvyush

Похоже, на сервере регистрация в реестре слетела. Когда пускаете агента на клиенте, объект создаётся на клиенте, где очевидно с регистрацией всё в порядке, потому отрабатывает без ошибок.
 

erdi

Green Team
20.08.2008
264
17
BIT
0
Данная ошибка говорит что в ОС нет зарегистрированного объекта MSSOAP. Попробуй зарегистрировать данный объект на сервере и повторить попытку.
То что все работает когда запускаешь через run, объясняется тем, что объект создается не на сервере, а на твоей машине, на которой MSSOAP уже зарегистрирована
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!