Агент на сервере

MMN

Well-known member
11.12.2008
97
0
#1
Написан агент перегрузки из MS Access в лотус
При запуске из клиента агент отрабатывается отлично.
Когда он запускается с сервера по расписанию, в логах ошибка
ADODB.Connection: Не удается найти указанного поставщика. Вероятно, он установлен неправильно.

Беру теже самые строки и пробую в самом Access в редакторе VB (на серваке где крутиться домино)
Set con = CreateObject("ADODB.Connection")
Set RecordSet = CreateObject("ADODB.Recordset")
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\tmp\n110131.mdb; Jet OLEDB:System Database=c:\tmp\GatePass.mdw; User ID=gate;Password=gate;"
con.Open

все отрабатывается отлично.
в чем затык ??
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#2
раз пицот было здесь (и не тока)...

есть маленький деталь :(
юзверь,под кот. домина (ежели как сервис) - SYSTEM
а вот васика дергаете как штатный юзверь
пущать сервер под юзверем - где зарегана КОМа
 

MMN

Well-known member
11.12.2008
97
0
#4
есть маленький деталь wink.gif
юзверь,под кот. домина (ежели как сервис) - SYSTEM
а вот васика дергаете как штатный юзверь
пущать сервер под юзверем - где зарегана КОМа

Создал пользователя Domino, стартанул сервис от его имени.
Залогинился из под пользователя Domino
в редакторе VB все отработало нормально, при выполнении агента на сервере проблема осталась

ADODB.Connection: Не удается найти указанного поставщика. Вероятно, он установлен неправильно.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#5
а зачем домине SYSYTEM - шоб винду ломать? ;)
КОМа под системом д.б. ну очень надёжной (каковой, в большинстве случаев, не является)
т.е. - это потенциальная дыра в скекурити

Аксец - это ваще позор всех рсубд (для чего его держат - загадка), отсталые технологии, кот. сама МС давно забросила...
и это глюкало, мало того что юзают - еще хотят в систем пихнуть :)

бесплатные, лёгкие, встариваемые, сикул движки: SQLite (этого нет разве что в кофеварках, хотя...), HSSQL (этот юзается в ОО и ещё много где http://hsqldb.org/web/hsqlUsing.html)
ГУЁВ дамуя, для разных БД, как и систем построения отчётов...
и всё это - БЕСПЛАТНО (в отличии от...) и замечательно работает

домина вполне может обойтись выделенным под неё, локальным, юзером - и это правильно
под системом можно регать КОМ, но - это нестандартный выкрутас

Добавлено: вот вам костыль http://camie.dyndns.org/technical/adodb-error-800a0e7a/
для этой МСпердульки, наслаждайтесь (пока опять не сломается)
надеюсь поможет...
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#6
я то-то не то сказал... или оно вылечилось ;) ?
 

MMN

Well-known member
11.12.2008
97
0
#7
да что то странно, мне не понятна ситуация если под пользователем баблиотеки зарегины, в VB все работает, то почему в домино это не отрабатывется, может в домино надо какие то конекторы писать ??
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#8
мне не понятна ситуация если под пользователем баблиотеки зарегины, в VB все работает
мало-связанные вещи...
для своих... МС латает свои жи недоделки
а потому - скрипты, по ссылке, надо выполнить
др. словами - проблема не касается домины никоем образом (вина уиндоуз и ёваных КОМов)

надеюсь "сервер" и КОМы находятся на одном инстансе ПиСей
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#10
КОМ не может регаться на одном компе, а работать на другом
где работатет там и регается
 

MMN

Well-known member
11.12.2008
97
0
#11
В общем все оказалось интереснее.
В соединении использовалась строка
Provider=Microsoft.Jet.OLEDB.4.0
Обкатывалось на виндовз 7 x86
При запуске на сервеке происходило
ADODB.Connection: Не удается найти указанного поставщика. Вероятно, он установлен неправильно.
Сервак 2008 x64, домино сервак тоже x64
При обкатке в VB ошибок не возникало, что в общем вполне логично т.к. он работал как x86 приложение.
Снес офис 2007 установил 2010 x64 и в VB сразу получил ошибку соединения.
Вылечил установкой этой байды
строку конекта изменил на Microsoft.ACE.OLEDB.12.0
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#12
ну... милчеловек, это называется - СЗБ :crash:
такой микс устроить из битности платформ...