Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/65: Рейтинг темы: голосов - 65, средняя оценка - 4.85
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740

PSQLException, длинные строки

07.11.2010, 01:23. Показов 12885. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня вылезает ошибка, что org.postgresql.util.PSQLException: ERROR: value too long for type character varying(255). Что можно сделать, чтобы иметь возможность работы с длинными строками? Мне подсказали, что можно использовать @Lob и вроде надо в нужном классе ставить перед определением функции, возвращающей ту самую длинную строку. Я так делала, но это ничего не поменяло. Но есть и другой способ, поскольку в предыдущей версии программы, с которой я работаю, ни в одном файле этой сроки не встречалось, а все нормально работает, но вот как этого добились я не знаю Подскажите пожалуйста что тут можно сделать, заранее большое спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.11.2010, 01:23
Ответы с готовыми решениями:

Ошибка: org.postgresql.util.PSQLException: ResultSet закрыт
Ошибка: org.postgresql.util.PSQLException: ResultSet закрыт. Connection conn = null; try { String...

Переписать строки исходного файла в новый файл, укоротив, длинные строки до 20 символов
Переписать строки исходного файла в новый файл, укоротив, длинные строки до 20 символов

Длинные строки
Строки (цепочки символов русских букв) создаются по следующему правилу. Первая строка состоит из одного символа — русской буквы «А». Каждая...

8
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.11.2010, 02:25
Если это корректное поведение(имеется в виду приход такой длинной строки) то используйте lob, если не корректное поведение, то обсудите с BA поведение программы в данном случае.

Цитата Сообщение от Грымзик Посмотреть сообщение
Мне подсказали, что можно использовать @Lob и вроде надо в нужном классе ставить перед определением функции, возвращающей ту самую длинную строку
Возможно вы не правильно его использовали?
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
07.11.2010, 02:40  [ТС]
Строка имеет право быть очень длинной.Как тогда надо использовать Lob? Вот у меня класс, подскажите где надо поставить.
Java
1
2
3
4
5
6
7
8
9
10
11
12
public class EVulnerability{
 
    private String exploit = "";  //та самая строка
***
    //только эти функции к ней обращаются
    public String getExploit() {
        return exploit;
    }
    public void setExploit(String exploit) {
        this.exploit = exploit;
    }
}
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.11.2010, 02:52
Грымзик, меня больше интересует тот момент, где ее значение передается в Statement
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
07.11.2010, 02:58  [ТС]
А что такое Statement?
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.11.2010, 03:09
Это объект JDBC который используется для выполнения SQL-команд
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
07.11.2010, 03:29  [ТС]
Я не знаю правильно ли я поняла Ваш вопрос, но вот при вызове этой строки
expectation.verifyOutcome( insert.executeUpdate(), insert, -1 );
где insert имеет тип PreparedStatement и хранит правильное значения, как раз и происходит ошибка.
Отследить дальше ее не получается, т.к файл с классом AbstractJdbc2Statement.class у меня не отображается.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.11.2010, 13:10
Грымзик, там есть такая вещь, как
Java
1
insert.setString(int paramNumber, String value);
Так вот в базе какой размер этого поля задан?
0
 Аватар для Грымзик
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
07.11.2010, 19:33  [ТС]
Там 255 символов, но ведь можно сделать, чтобы и с таким значением длинные строки хранились? Очень нежелательно изменения в базе делать.

Добавлено через 1 час 0 минут
Все, вопрос решен. Действительно необходимо было поставить @Lob перед функцией getExploit(), просто потом еще надо было сделать каскадное удаление таблицы, и с новой таблицей уже все хорошо работает.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.11.2010, 19:33
Помогаю со студенческими работами здесь

Длинные строки не влазят
Доброго времени суток.Суть проблемы: при разных разрешениях длинные строки не вмещаются и внутренний блок контента съезжает под другой...

Длинные строки в DataGridView
Как сделать, чтобы если строка длинная и в ячейке не помещается, она переносилась на новую. В смысле, не создавалась новая строка грида, а...

Длинные строки или абзацы
У меня есть договор, например, купли-продажи. Есть первый абзац, в котором указаны ФИО кто покупает и ФИО кто продает, вопрос в том как в...

Длинные строки в SQL 2000
Проблемка такая, наверняка кто-то уже сталкивался. Объявляю поле varchar 8 килобайт, чтобы мало не показалось. Пишу в него данные. В...

Слишком длинные строки в таблице
Всем привет! Столкнулась с вот такой проблемой. DBGrid1 - таблица заполняемая запросом ADOQuery1. Табличка вставляется из Access, но строки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru