Egoblog.cz - Petr Kobelka

Oracle SQL server - divná chyba ORA-01461

Dnes vám popíšu jednu zajímavou chybu a její rychlé řešení. Tajemné označení chyby je ORA-01461.


JAVA | Komentáře (0) | Shlédnuto 2388 × | Vloženo: 13. února 2018

Při tvorbě microservice v JAVA s návazností na Oracle SQL serer v12 jsem se dopracoval k jedné podivné chybě:

ORA-01461: can bind a LONG value only for insert into a LONG column

Začalo to batchem přes JDBCTemplate, takže jsem postupně změnšoval množinu vstupních dat pro tvorbu a insert SQL statements až jsem se dopracoval k jednomu záznamu, který způsoboval chyby. Bylo mi to divné, protože všechny sloupce byly předimenzovány na potřebnou velikost a ještě s obrovskou rezervou.

Potil jsem krev a slzy, ale nakonec jsem se díky postu dopracoval k root cause celého problému. Ten vůbec není v tom, že bych někde divně vkládal data, ale v tom, že SQL statement může mít v ORACLE maximálně 4000 znaků a jeden můj vstupní argument pro prepared staement byl XML string, který byl delší než tato hodnota. Přišel jsem na to díky tomuto postu na stackoverflow.

Tedy, když narazíte na takový problém, zkuste se nejdříve mrknout, jestli náhodou není váš SQL string delší než by měl být :-)

Petr Kobelka | Egoblog.cz | Tvorba www stránek - www.petrkobelka.cz

Petr Kobelka
Autor je zkušeným web developerem a programátorem s více než 10 letými zkušenostmi. Pracuje jako programátor pro známou Olomouckou společnost zabývající se tvorbou internetových a intranetových řešení. Spolu se zaměstnáním pracuje na volné noze a zabývá se tvorbou internetových stránek. Ve volném čase rád fotí, jezdí na kole, plave a cestuje.

Komentáře

E-mail je potřeba pouze pro vygenerování Gravataru!

Oups, žádné komentáře? Buďtě první !!!

Blog píše Petr Kobelka

Petr Kobelka - egoblog.cz

Žádám všechny, kteří mají zájem vkládat komentáře, aby se řídili pravidly NETikety. Komentáře, porušující tato pravidla můžou být bez varování smazány.