12.10.2018 07:33
OlegON
 
После установки 1037.1SP3 на сервере вылезает очень неприятный глюк.
На рабочих станциях ценники печатаются без проблем, на самом сервере фоновый процессор отчетов зависает, создавая значительную нагрузку процессом oracle.exe, при том, что сессия еще не создалась.

Окружение: Windows 2008 (R2-64 и простая-32), Oracle 11.2.0.3, возможно, что терминальная сессия как-то сказывается, пока нет подтверждения, что работает без нее.

Спастись можно только предварительным запуском RWISV60.EXE

ни у кого проблемы нет? Может, есть идеи, что поковырять? Патчи ставили, TEMP меняли, дрова и принтеры меняли на локальный и разные... NLS_LANG меняли.
12.10.2018 07:45
Mtirt
 
Проблема началась еще на 1.037 в связи со сменой типа подключения к Oracle.
Решение - менять все отчеты (и ценники) на FastReport.
Цитата:
Oracle 12. Использование Oracle Provider for OLE DB.

В текущей версии внесены изменения в работу с СУБД Oracle, а именно для работы с СУБД Oracle теперь используется Oracle Provider for OLE DB вместо Microsoft Oracle Provider for OLE DB. Использование Microsoft Oracle Provider for OLE DB в предыдущих версиях было обусловлено тем, что Oracle Provider for OLE DB не обеспечивал необходимой надежности при работе с ранними версиями СУБД Oracle, в частности, при работе с Oracle 8i.

В связи с прекращением поддержки Microsoft Oracle Provider for OLE DB компанией Microsoft, использование провайдера при работе .Net приложений с 32-х разрядным клиентом Oracle 12 и работа с 64-битными приложениями C++ оказались невозможными. В предыдущих версиях системы это приводило к необходимости использовать для работы клиент иной версии Oracle (например, клиент Oracle 11 для работы с СУБД Oracle 12). В текущей версии этот недостаток исправлен.

Современная версия Oracle Provider for OLE DB работает с СУБД Oracle версий 10,11 и 12. Oracle Provider for OLE DB использует компоненты клиента Oracle и устанавливается при установке клиента. Во время установки клиента регистрируется один из компонентов Oracle Provider for OLE DB с именем OraOLEDBxx.dll, где хх – номер версии клиента. Если на компьютере установлено несколько клиентов, то зарегистрированным будет компонент от последнего установленного клиента. Если после этого производить замену рабочего клиента путем перестановки путей в переменной окружения Path, то может возникнуть ситуация, когда компоненты Oracle Provider for OLE DB будут браться из разных клиентов. Это будет приводить к ошибке вида: «Клиент Oracle некорректно установлен или не зарегистрирован OraOLEDB12.dll (либо OraOLEDB11.dll, OraOLEDB10.dll...)». В таком случае надо зарегистрировать компонент от текущего рабочего клиента с помощью команды regsvr32.
12.10.2018 09:56
Occul
 
Все бы хорошо, только Oracle Reports работают совершенно отдельно, отдельным бинарником, который сам подключается через свои библиотеки. Поэтому никакого отношения к OLE DB иметь не должны.
12.10.2018 10:01
Mtirt
 
Только в него (OracleReports) надо как-то данные передавать.
Вот этого сделать с новым компонентом и не удается, насколько я понимаю.
12.10.2018 10:12
Occul
 
А они и раньше передавались через пайпы операционки... Т.е. к ораклу это все отношения не имеет...
12.10.2018 10:42
OlegON
 
Смущает еще то, что если запустить фоновый процессор отдельно, то работает все замечательно. Т.е. проблема не в клиенте, а в способе запуска. Что-то сломали.
14.10.2018 11:50
OlegON
 
не помогает смена PATH в разных вариантах, установка текущей директории в orant
собственно, сессия не устанавливается, но подключение до listener происходит, причем, даже если tnsnames в orant убит.
проблема, как мне кажется, в том, что репортсы стартуют с какими-то библиотеками в самом супермаге или сервера... что приводит к подвисанию межпроцессного какого-то алгоритма в самом oracle.exe

через сервер приложений на localhost работает, в общем - ошибка программистов Супермага

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.