РТЫ 03113: конец файла на канале передачи после долгой неактивности в приложении ASP.NET

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

24
задан AHiggins 17 December 2015 в 16:38
поделиться

5 ответов

РТЫ 03113: конец файла на канале передачи

Является базой данных, сообщающей, что сетевое соединение больше не. Это могло быть то, потому что:

  1. сетевая проблема А - неисправное соединение или выпуск
  2. брандмауэра серверный процесс на базе данных, которая обслуживает Вас, неожиданно умер.

Для 1) ( брандмауэр ) ищут tahiti.oracle.com SQLNET.EXPIRE_TIME. Это - sqlnet.ora параметр, который будет регулярно отправлять сетевой пакет в настраиваемом интервале т.е.: установка этого заставит брандмауэр полагать, что соединение живо.

Для 1) ( сеть ) говорят с Вашим сетевым администратором (соединение могло быть ненадежным)

Для 2) Проверки alert.log для ошибок. Если серверный процесс, отказавший там, будет сообщением об ошибке. Также файл трассировки будет записан, чтобы позволить поддержке определить проблему. Сообщение об ошибке сошлется на файл трассировки.

вопросы Поддержки могут быть подняты в metalink.oracle.com с подходящим Идентификатором обслуживания клиентов (CSI)

19
ответ дан Gryu 28 November 2019 в 23:37
поделиться

Проверьте, что нет брандмауэра, который заканчивает соединение после определенного периода времени (это было причиной подобной проблемы, которую мы имели)

5
ответ дан hamishmcn 28 November 2019 в 23:37
поделиться

Вы могли попробовать этот взлом реестра:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DeadGWDetectDefault"=dword:00000001
"KeepAliveTime"=dword:00120000

, Если это работает, просто продолжайте увеличиваться KeepAliveTime. Это в настоящее время устанавливается в течение 2 минут.

2
ответ дан Nick Chammas 28 November 2019 в 23:37
поделиться

Статья, ранее упомянутая, хороша. http://forums.oracle.com/forums/thread.jspa?threadID=191750 (насколько это идет)

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

существует еще один "глюк", который не упоминается в статье. Если первой вещью, которую Вы пытаетесь сделать с соединением, будет вызов хранимая процедура, то ODP ЗАВИСНЕТ!!!! Вы не возвратите состояние ошибки для управления, просто полный калибр ЗАВИСАЕТ! Единственный способ зафиксировать его состоит в том, чтобы выключить организацию пула подключений. Как только мы сделали это, все проблемы ушли.

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

, Если подход обработки ошибок так хорош, почему они не делают опцией для ODP для обработки его для нас????

0
ответ дан Brad Bruce 28 November 2019 в 23:37
поделиться

Добавьте Validate Connection = true в строку подключения.

Посмотрите этот блог , чтобы узнать больше о.

ДЕТАЛИ: После OracleConnection.Close () реальное соединение с базой данных не разрывается. Объект соединения возвращается в пул соединений. ODP.NET неявно использует пул соединений. Если вы создаете новое соединение, вы получаете один из пула. Если это соединение «еще открыто», метод OracleConnection.Open () на самом деле не создает новое соединение. Если реальное соединение разорвано (по любой причине), вы получите сбой при первом выборе, обновлении, вставке или удалении.

С помощью Validate Connection реальное соединение проверяется методом Open ().

8
ответ дан 28 November 2019 в 23:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: