h - не определена . - Может в этом трабла?
Передавай ноль, но не неопределенную переменную. Но дело точно не в этом - у тебя же программа запускается и сбоит - откуда бы взялась оракловая ошибка...
Обрыв соединения с ораклом бывает - это явный глюк. Логично будет посмотреть последние патчи.
У меня был на днях такой случай: простенький SQL-запрос вызывал разрыв соединения с сервером при определенной комбинации парметров в WHERE, а при других комбинациях работает. Глюки эти встречены на 9-ой версии под Solaris на Spark. Отчего происходит - я не замарачивался, т.к. планируем переходить на 10 в ближайшее время. Аналогично замечены глюки с тем же сервером при работе чужого софта, а тестовая база, которая крутится на писюке под w2k (версия оракла та же, но патчи другие), таких глюков не выдает.