Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > With Recursive & JDBC


Автор: skif18 20.12.2010, 10:46
Сделал на PostgreSQL 8.4  view  :
Код

CREATE OR REPLACE VIEW treepodrazd AS 
 WITH RECURSIVE rec(id, parentid, descr, path, level, isfolder) AS (
                 SELECT podrazd.id, podrazd.parentid, podrazd.descr, podrazd.id::character varying(50) AS path, 1 AS level, podrazd.isfolder
                   FROM podrazd
                  WHERE podrazd.isfolder = 1::numeric AND podrazd.parentid = '0'::bpchar
        UNION 
                 SELECT podrazd.id, podrazd.parentid, podrazd.descr, (((rec.path::text || '->'::text) || podrazd.id::text))::character varying(50) AS "varchar", rec.level + 1 AS level, podrazd.isfolder
                   FROM podrazd
              JOIN rec ON rec.id = podrazd.parentid
        )
 SELECT rec.id, rec.parentid, rec.descr, rec.path, rec.level, rec.isfolder
   FROM rec
  ORDER BY rec.path;

ALTER TABLE treepodrazd OWNER TO postgres;


пользую драйвер  postgresql-8.4-701.jdbc3.jar
Когда пишу обычный Select к данному view дает ошибку :
org.postgresql.util.PSQLException: ERROR: relation "treepodrazd" does not exist

В чем может быть причина глюка?

Автор: dobrolub 20.12.2010, 21:36
Проверь, что для юзера которым подсоединяшся этот вью находиться в зоне видимости (база и схема используемая в соединеннии соответствуют тем, что должны быть.) и из него разрешены селекты для данного юзера.

Автор: skif18 21.12.2010, 09:43
dobrolub, я под этим же юзером подключаюсь к базе в pgAdmin3. И там все работает. А когда из java, то дает ошибку.

Нашел ошибку. Причем она такая глупая что даже стыдно... smile  Все работает превосходно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)