В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
РТЫ 03113: конец файла на канале передачи
Является базой данных, сообщающей, что сетевое соединение больше не. Это могло быть то, потому что:
Для 1) ( брандмауэр ) ищут tahiti.oracle.com SQLNET.EXPIRE_TIME
. Это - sqlnet.ora параметр, который будет регулярно отправлять сетевой пакет в настраиваемом интервале т.е.: установка этого заставит брандмауэр полагать, что соединение живо.
Для 1) ( сеть ) говорят с Вашим сетевым администратором (соединение могло быть ненадежным)
Для 2) Проверки alert.log
для ошибок. Если серверный процесс, отказавший там, будет сообщением об ошибке. Также файл трассировки будет записан, чтобы позволить поддержке определить проблему. Сообщение об ошибке сошлется на файл трассировки.
вопросы Поддержки могут быть подняты в metalink.oracle.com с подходящим Идентификатором обслуживания клиентов (CSI)
Проверьте, что нет брандмауэра, который заканчивает соединение после определенного периода времени (это было причиной подобной проблемы, которую мы имели)
Вы могли попробовать этот взлом реестра:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DeadGWDetectDefault"=dword:00000001
"KeepAliveTime"=dword:00120000
, Если это работает, просто продолжайте увеличиваться KeepAliveTime
. Это в настоящее время устанавливается в течение 2 минут.
Статья, ранее упомянутая, хороша. http://forums.oracle.com/forums/thread.jspa?threadID=191750 (насколько это идет)
, Если это не что-то, что часто работает (не делают этого на Вашей домашней странице), можно выключить организацию пула подключений.
существует еще один "глюк", который не упоминается в статье. Если первой вещью, которую Вы пытаетесь сделать с соединением, будет вызов хранимая процедура, то ODP ЗАВИСНЕТ!!!! Вы не возвратите состояние ошибки для управления, просто полный калибр ЗАВИСАЕТ! Единственный способ зафиксировать его состоит в том, чтобы выключить организацию пула подключений. Как только мы сделали это, все проблемы ушли.
Объединение хорошо в некоторых ситуациях, но за счет увеличенной сложности вокруг первого оператора каждого соединения.
, Если подход обработки ошибок так хорош, почему они не делают опцией для ODP для обработки его для нас????
Добавьте Validate Connection = true в строку подключения.
Посмотрите этот блог , чтобы узнать больше о.
ДЕТАЛИ: После OracleConnection.Close () реальное соединение с базой данных не разрывается. Объект соединения возвращается в пул соединений. ODP.NET неявно использует пул соединений. Если вы создаете новое соединение, вы получаете один из пула. Если это соединение «еще открыто», метод OracleConnection.Open () на самом деле не создает новое соединение. Если реальное соединение разорвано (по любой причине), вы получите сбой при первом выборе, обновлении, вставке или удалении.
С помощью Validate Connection реальное соединение проверяется методом Open ().