Назад | Перейти на главную страницу

Проблемы с использованием информации Crystal Reports в Интернете

У нас есть установка Bobje, и мы используем Crystal Reports infoview, чтобы делиться некоторыми из наших отчетов с нашими клиентами через Интернет. Большинство отчетов работают нормально, однако любые отчеты, которые занимают «больше времени», не работают. Дольше около 3-4 минут. Если мы запустим те же отчеты в локальной сети, они будут работать нормально. На самом деле у нас есть некоторые отчеты, которые занимают 10-15 минут и возвращаются на месте, но не через Интернет.

Мы связались с SAP по этому поводу и не нашли удовлетворительного решения (пока !!). В основном получаю версию браузера и java. Мы также увеличили максимально возможное количество тайм-аутов, но это не повлияло.

Сейчас мы не понимаем, что делать дальше. Одно из предположений состоит в том, что это может быть связано с «сетью», но я не уверен, с чего начать. другая идея в том, что это может быть тайм-аут сокета ОС ??

Дополнительная информация:

Любая помощь приветствуется.

Джеймс

В конце концов, я настроил встроенный tomcat в BO с коннектором ajp. Затем я настроил apache httpd с помощью mod_jk. Это устранило проблему.

J

Куда идти дальше: я бы взял какой-нибудь сниффер, чтобы точно определить, что происходит. Wireshark - отличный инструмент для устранения подобных неполадок. Вы будете точно видеть, что происходит в сети. Сделайте один снимок базовой линии локально, затем другой при подключении удаленного клиента. Сравните два и посмотрите, в чем разница.

Я предполагаю: у вас есть брандмауэр с отслеживанием состояния где-то в уравнении, который убивает соединение после заданного количества минут простоя. Для поддержания соединения потребуется какой-то метод поддержки активности TCP.

Думаю, я нашел кое-что, что вы можете использовать:

http://vivekagarwal.wordpress.com/2009/07/04/firewall-dropping-oracle-database-connections-in-websphere-connection-pool/

Решение, к которому мы пришли, заключалось в том, чтобы обойти эту проблему на стороне Oracle. Мы изменили параметр sqlnet.expire_time в sqlnet.ora на сервере Oracle 10g с значения по умолчанию «30 ″ (30 минут) до« 1 ″ (1 минута).

Параметр SQLNET.EXPIRE_TIME используется для указания временного интервала в минутах для отправки зонда для проверки активности соединений клиент / сервер. Если зонд обнаруживает прерванное соединение или соединение, которое больше не используется, он возвращает ошибку, в результате чего серверный процесс завершается. Этот параметр в первую очередь предназначен для сервера базы данных, чтобы он мог освободить ресурсы на стороне сервера, которые не используются.

Побочным эффектом проверки является то, что между клиентом и сервером существует активность TCP-IP каждый раз, когда выполняется проверка, и брандмауэр определяет ссылку как активную. Уменьшив интервал проверки до минуты, нам удалось обмануть брандмауэр, оставив соединения с базой данных в одном пуле соединений и не прервав их, даже если клиент может не выполнять запрос, используя соединение в течение длительного периода времени.