Dne 8.3.2011 19:14, Zbyněk Burget napsal(a):
Mějme tabulku 'iadress' se sloupcem 'ip' s datovým typem 'inet'. Pokud
vytvořím dotaz:
SELECT * FROM iadress WHERE ip << inet '10.0.0.0/8' ORDER BY ip
dostanu očekávaný výstup.
Pokud založím formulář se zdrojem dat "dotaz", funguje dobře, ale
formulář je pouze pro čtení.
Pokud ale založím formulář na "SQL příkaz", formulář nefunguje a při
pokusu o úpravu dotazu dostanu syntax error, unexpected SQL_LESS -
tady už něco krapet nehraje.
pokud se při úpravě dotazu tento pokusím uložit, chybová hláška je
překvapivě jiná:
Stav SQL: HY000
Kód chyby: 1000
Syntax error in SQL expression
syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
Pár doplňujících dotazů:
1. V tom dotazu máte nebo nemáte nastaveno "Spustit SQL příkaz přímo"?
2. Ve formuláři založeném na SQL u datového zdroje máte nebo nemáte
nastaveno "Analyzovat SQL příkaz"?
3. Ty chybové hlášky vrací Postgresql nebo je vrací OOo, aniž by příkazy
na server vůbec dorazily (dá se to vyčíst ze stromu událostí, když si
necháte zobrazit podrobnosti chybové zprávy).
Ta hláška se SQL_LESS signalizuje, že nebyl správně interpretován
operátor <<. Buďto alespoň jeden z operandů nebyl typu inet, nebo to OOo
prostě neumí správně interpretovat.
Té druhá hláška signalizuje naprostou syntaktickou desinterpretaci SQL
příkazu, ale důvod z toho vyčíst neumím. Možná by pomohlo vložit sem
přesnou kopii těch SQL příkazů.
Pokud bych chtěl do dotazu navíc zasekat parametr:
SELECT * FROM ip WHERE ip << :param ORDER BY ip
přestává fungovat i formulář založený na dotazu.
Zde si nejsem jist, zda parametrem předáváte hodnotu typu inet a nebo
textový řetězec. V prvním případě by to mělo fungovat, ve druhém musíte
dotaz upravit:
SELECT * FROM ip WHERE ip << inet :param ORDER BY ip
Rozhodně by nešlo parametrem předávat něco jako inet '10.0.0.0/8'.
zkoušel jsem i OOo 3.3, ale omlátilo mi to o hlavu různou snůšku i
jiných chyb. (BTW: nevíte někdo, jak je to s opravou toho, že v base
3.3 /sdbc postgres jsou všechny tabulky pouze read-only?)
Zatím jsem neměl čas se po tom pídit.
Každopádně přeju hodně zdaru.
Jiří Spitz
--
-----------------------------------------------------------------
To unsubscribe send email to [email protected]
For additional commands send email to [email protected]
with Subject: help