WEB-приложение Сведение отчетности - Возможные проблемы  (раздел целиком) (14.07.2012)
Возможные проблемы

1. Нет соединения с БД при установке

Описание проблемы:В процессе работы инсталлятора при вводе правильных значений в поля "База данных", "Пользователь" и "Пароль" выдается сообщение "Ошибка соединения с БД".

Во-первых, необходимо убедиться в том, что база данных на сервере Oracle доступна и находится в состоянии Open. Проще всего в наших конкретных условиях попытаться начать сеанс работы с системой Парус 8 (с любого другого компьютера, или непосредственно с web-сервера, если на нем установлена клиентская часть ПП Парус 8). Если начало сеанса проходит успешно, то идем дальше.

Для соединения с Oracle (и инсталлятором, и сервисом) используются библиотека OCI.DLL и файл tnsnames.ora, принадлежащие каталогу Oracle по умолчанию. Это становится актуально в случае, если на машине установлено одновременно несколько каталогов Oracle, или если какой-либо из каталогов Oraclе был некорректно удален. В любом случае, проблему легко исправить. Необходимо запустить редактор реестра Windows (regedit.exe) и убедиться в правильности следующих настроек:

HKEY_LOCAL_MACHINE --> SOFTWARE --> ORACLE -- > ALL_HOMES

Параметр HOME_COUNTER определяет количество установленных каталогов Oracle. Менять его не рекомендуется.

Параметр DEFAULT_HOME определяет имя каталога Oraclе по умолчанию (того самого, который нам нужен).

Дочерними к текущей ветке реестра являются ветки, описывающие каталоги Oracle. Они называются обычно ID0, ID1, ID2 и так далее. В каждой из них присутствуют: параметр NAME определяет имя каталога Oracle; параметр PATH определяет путь к физическому каталогу Oracle на диске.

Что должно быть? В параметре HOME_COUNTER должно содержаться количество реально зарегистрированных в реестре каталогов Oracle. В параметре DEFAULT_HOME должно содержаться имя (значение параметра NAME) того каталога, который мы будем использовать. Путь к физическому каталогу (параметр PATH) этого каталога Oracle должен быть валидным и указывать на правильную версию Oracle (не ниже 9.2.0.1) (например, C:\oracle\ora92).

Каталоги Oracle настроены правильно, однако соединения все равно не происходит. Необходимо проверить наличие алиаса БД в файле tnsnames.ora. Этот файл можно найти в подкаталоге NETWORK\ADMIN каталога, на который указывает параметр PATH текущего каталога Oracle (в нашем примере - C:\oracle\ora92\NETWORK\ADMIN\tnsnames.ora). Этот файл содержит список записей следующего вида:

Имя_базы_данных =

(DESCRIPTION =

   (ADDRESS_LIST =

    ; (ADDRESS = (PROTOCOL = TCP)(HOST = IP-адрес сервера БД) (PORT = Порт для соединения с Oracle))

   )

   (CONNECT_DATA =

     (SERVICE_NAME = SID_базы данных)

   )

)

Например,

ORADB =

(DESCRIPTION =

   (ADDRESS_LIST =

   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.12)(PORT = 1521))

   )

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = ORADB_TEST)

   )

)

Необходимо убедиться в том, что псевдоним соединения с базой данных (который вы используете в поле База данных задан в этом файле и задан правильно. Можно проверить соединение при помощи утилиты tnsping.exe в каталоге BIN (в нашем случае - C:\oracle\ora92\bin\tnsping.exe):

TNSPING

На последней строке протокола на рисунке показано сообщение "OK" и время обмена пакетами. То есть на рисунке - все в порядке.

Если все это не помогло, то проверьте еще раз раскладку клавиатуры при вводе пароля.


2. Невозможность подключения к серверу с удаленного компьютера

Описание проблемы:На самом Web-сервере URL http://127.0.0.1 работает нормально. Соединение с удаленным клиентом не происходит.

Причиной подобного поведения может быть неправильная настройка сетевого экрана (FireWall). В настоящем документе мы покажем, как необходимо настроить стандартный сетевой экран, являющийся частью операционной системы (Windows Firewall). Если вы пользуетесь другими сетевыми экранами, то информацию о его правильной настройке можно посмотреть в руководстве по его использованию.

Для настройки Windows Firewall используется соответствующий апплет панели управления (Start --> Control Panel --> Windows Firewall). Для разрешения работы сервиса необходимо на странице Exceptions добавить разрешение.

Нажмите на кнопку Add Program. В появившемся окне выберите исполняемый модуль приложения (например, C:\PROGRAM FILES\PARUSBALANCEONLINE\ParusWebServer.exe). Нажав на кнопку Change Scope в окне добавления разрешения, можно установить диапазон удаленных адресов, для которых это разрешение действительно.

Если при обращении к сервису возникает сообщение Windows Security Alert, то при нажатии на кнопку Unblock разрешение Windows Firewall будет добавлено автоматически.


3. Сообщение "база данных недоступна"

Описание проблемы:Я уверен, что правильно ввел параметры базы данных, база данных доступна и я вижу открытые процессом ParusWebServer.exe сессии Oracle. В то же время удаленный клиент получает сообщение "база данных недоступна".

Вероятнее всего, проблема в том, что сервис не может найти организацию системы с заданным наименованием. Если Вы уверены в том значении, которое написано в соответствующем поле окна настройки, то проверьте, как установлено местонахождение пользователя по умолчанию. Это важно, поскольку наименование организации обычно включает в себя национальные (русские) символы, которые должны интерпретироваться правильно процессом, запущенным пользователем SYSTEM (сервисом).

Для правильной настройки местонахождения необходимо воспользоваться апплетом панели управления (Start --> Control Panel --> Regional and Language Options). В окне апплета необходимо убедиться в том, что на странице Regional Options в поле Location выбрана та страна, национальные символы которой должны быть правильно интерпретированы (Russia).

Location - Russia

На странице Advanced необходимо установить флажок Apply all settings to the current user and to the default user profile, и нажать ОК.

Применить локальные настройки ко всем пользователям

Сервис после этого необходимо перезапустить.


4. Не отображаются дополнительные словари

Описание проблемы:В web-клиенте не отображаются дополнительные словари. В win-клиенте все нормально.

Вероятнее всего, не был перезапущен сервис.

После привязки дополнительных словарей в Win-клиенте, необходимо перезапустить службу Parus Web Server. В этом случае актуальный список дополнительных словарей будет доступен и в Web- клиенте.