Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передать String[] параметром, вызов функции PostgreSQL 
V
    Опции темы
yuliada
Дата 21.7.2009, 05:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 16.2.2009
Где: Иркутск - San Die go

Репутация: нет
Всего: нет



В базе (PostgreSQL) есть функция, которая принимает параметр типа text[]. Нужно вызвать эту функцию через PreparedStatement и передать ей параметр. Вот так не получается:
Код

        Array arr = c.createArrayOf("text", new String[]{"a", "b", "c"});
        //Array arr = c.createArrayOf("integer", new Integer[]{1, 2, 3});
        ps.setArray(1, arr);

Падает на создании Array с любыми параметрами с ошибкой:
Код

Exception in thread "main" java.lang.AbstractMethodError: org.postgresql.jdbc3.Jdbc3Connection.createArrayOf(Ljava/lang/String;
[Ljava/lang/Object;)Ljava/sql/Array;
        at aoutomapping.cash.DBCash.loadOREFSFromDB(DBCash.java:261)
        at aoutomapping.cash.DBCash.<init>(DBCash.java:66)
        at aoutomapping.cash.DBCash.main(DBCash.java:289)


ps.setObject(1, new String[]{"a", "b", "c"}); тоже не работает.
Код

Exception in thread "main" org.postgresql.util.PSQLException: Can't infer the SQL type to use for an instance of [Ljava.lang.String;. Use setObject()
with an explicit Types value to specify the type to use.
        at org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1740)
        at aoutomapping.cash.DBCash.loadOREFSFromDB(DBCash.java:264)
        at aoutomapping.cash.DBCash.<init>(DBCash.java:66)
        at aoutomapping.cash.DBCash.main(DBCash.java:289)

передавать в setObject() Types.ARRAY не помогает.

 Запихивать параметры в строчку и делать через просто Satement наверно нельзя, строки будут слишком длинные.

Как это можно сделать?

Это сообщение отредактировал(а) yuliada - 21.7.2009, 05:10
PM MAIL   Вверх
Andy_L20066
Дата 22.7.2009, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 10.3.2008

Репутация: нет
Всего: 1



PM MAIL ICQ   Вверх
yuliada
Дата 26.7.2009, 02:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 16.2.2009
Где: Иркутск - San Die go

Репутация: нет
Всего: нет



Т.е. мне нужно реализацию Array написать? А есть пример где-нибудь? Что-то не находится...
PM MAIL   Вверх
yuliada
Дата 31.7.2009, 07:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 16.2.2009
Где: Иркутск - San Die go

Репутация: нет
Всего: нет



Надо было взять последний драйвер с поддержкой JDBC4, там работает createArrayOf
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.