| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > DatabaseMData::geProcedureCols() vs user_arguments |
| Автор: setnull 27.8.2010, 18:25 | ||
| Все здравствуйте!!! Есть тип
Проблема стоит вокруг опоределения параметров процйдур такого типа через ojdbc. Если анализировать эти параметры в представлении user_arguments, то они там представлены двумя строками data_level data_type 0 VARRAY 1 NVARCHAR2 Сейчас же клиентский джава-код анализирует параметры процедур через функцию DatabaseMetaData::geProcedureColumns(), которая в свою очередь возращает только строки, соответствующие строкам user_arguments с data_level=0 В свою очередь, если переводить все, на информацию из user_arguments, то, как мимнимум (еще вплотную не анализировал), user_arguments предоставляет данные о типе через его имя, а geProcedureColumns в значении из java.sql.Types. Т.е. вопрос в одном из двух 1) Как средствами jodbc дополниить/расширить информацию из DatabaseMetaData::geProcedureColumns() недостающей? либо прийдется переводить все на запросы из user_arguments, и как минимум 2)как корректно отобразить Имя типа в множество java.sql.Types (имеется ввиду не техника, а принцип), т.к. есть подозрение, что это не просто соответствие один к одному, и самому писать - сразу все не предусмотришь... Может это можно сделать также средствами самого ojdbc? Вообще, хотелось бы решить это как-то первым подходом, т.к. кажется, что переводить на другой источник информации, хоть и похожий, будет в любом случае хлопотнее... Спасибо!!! |
| Автор: setnull 30.8.2010, 15:02 | ||
| проследил: одждбси делает такой запрос
Привнеслась ясность в процесс декодирования типа... Но как через ojdbc запросить data_level >= 0 Или как быть, ведь ojdbc не дает даже имени пользовательского типа, чтоб потом уточнить его мету... Или таки писать свой запрос, во многом дублирующий ???? |
| Автор: ToshaCh 30.8.2010, 15:17 |
| Хорошо бы этот вопрос отзеркалировать в раздел java, может кто-нить сталкивался. |