Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Oracle JDBC драйвер и String / 7 сообщений из 7, страница 1 из 1
28.04.2007, 14:06:14
    #34495510
DIMA11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle JDBC драйвер и String
Ситуация такая: вызываю хранимую процедуру оракла из джава приложения. Результатом работы процедуры является выходящий параметр строка varchar2(32766) а больший размер указать не могу - ошибка, пишет что ограничение 32767. Драйвер classes12.jar, оракл 9.2 и 10.2
Регистрирую параметр так:
Код: plaintext
cs.registerOutParameter( 4 , OracleTypes.VARCHAR);
пробовал и так:
Код: plaintext
cs.registerOutParameter( 4 , OracleTypes.LONGVARCHAR);
а забираю параметр так:
Код: plaintext
String r = cs.getString( 4 );

Проблема в том, что строка забирается не полностью, а только ее часть. Сохранил полученную строку в файл, а его размер 22868. На самом деле процедура выдает больше, но меньше 32767. Куда же девается остальное?? Ошибки не выдаются... Что делать для получения возможности принимать строки длиной хотя бы 100000? Менять драйвер? Заранее спасибо за помощь!
...
Рейтинг: 0 / 0
28.04.2007, 14:41:09
    #34495664
GKS_Samara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle JDBC драйвер и String
Dima11 wrote:
> varchar2(32766) а больший размер указать не могу - ошибка, пишет что
> ограничение 32767.

Это ограничение (32767 символов на строку) pl/sql и никаким драйвером не
обходится.

> Ошибки не выдаются... Что делать для получения возможности принимать
> строки длиной хотя бы 100000? Менять драйвер? Заранее спасибо за помощь!

Менять сервер :)

--
Алексей
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
28.04.2007, 15:13:01
    #34495829
DIMA11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle JDBC драйвер и String
Ну ограничение так ограничение, вопрос смены сервера не стоит:)
Не понимаю почему строка обрезается до примерно до 23000, хотя на самом деле ее длина примерно 26000. Все же в рамках ограничения.
...
Рейтинг: 0 / 0
28.04.2007, 15:20:40
    #34495871
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle JDBC драйвер и String
Dima11 wrote:

> Что делать для получения возможности принимать строки длиной хотя бы 100000?

Возвращать из хранимой процедуры CLOB, а в Java читать из него в String.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
28.04.2007, 15:40:28
    #34495947
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle JDBC драйвер и String
Dima11 На самом деле процедура выдает больше , но меньше 32767. Куда же девается остальное?? Ошибки не выдаются... Что делать для получения возможности принимать строки длиной хотя бы 100000? Менять драйвер? Заранее спасибо за помощь!
Давай процедуру. И как тестишь.
...
Рейтинг: 0 / 0
28.04.2007, 15:55:29
    #34495999
DIMA11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle JDBC драйвер и String
процедуру дать могу, но без модели данных она бесполезна...
Тестю очень просто - запускаю ее из проги на дельфях и из проги на яве... Так вот в дельфях получаю весь текст, а в яве его урезанный вариант. Размеры мерял путем простого сохранения результатов в обычные текстовые файлы т.к. результатом и является обычный текст. Разница примерно такова: 23000 из явы, 26000 из дельфей. И по тексту сразу видна нехватка.
Выдается в строке набор таких записей:
11.1672;[градус Цельсія]<ВремяПО>=30.05.2006 19:00:00.000000000;<ТипЗнПО>=Аналоговий;
...
Рейтинг: 0 / 0
28.04.2007, 15:57:30
    #34496008
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle JDBC драйвер и String
Dima11...
Не надо описывать словами - дольше въезжать. Давай пример.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Oracle JDBC драйвер и String / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]