Posted By: Dzon (Rachot lebek!) on 'CZprogram'
Title:     Oracle, OCI8, LONG
Date:      Wed Apr 16 11:00:54 2008


cau,
uz tu s tim dva dny boxuju a ani google neporadil. Potrebuju v OCI zjistit 
delku aktualne fetchovaneho zaznamu typu LONG [rady typu pouzivej LOB 
nepotrebuju, vim ze LOB ma vyrazne vyhody, ale proste je to stara db a s tim 
LONGem se neda hnout].
Zkousel jsem napsat kus kodu podle prikladu v cdemol2l.c, ale oni uz tam 
pocitaji s tim ze vedi delku tech LONGu. Stejne tak podle dokumentace pri 
OCIDefineByPos cituji: At this point you do not need to specify the actual 
size of the pieces you will use, but you must provide the total size of the 
data that will be fetched at runtime. [mluvim o piecewise fetch]

Kdyz to zkousim ohnout tak pri Execute mi to hodi OCI_NEED_DATA [coz je asi 
OK], Get/SetPieceInfo probehne OK, ale nasledny Fetch skonci ORA-24338: 
statement handle not executed.

Kdybyste nekdo mel kratky kus kodu v OCI na zjisteni delky LONG hodnoty ve 
sloupecku, dost by mi to pichlo.
Co jsem googlil tak bud borec natvrdo pocital s tim ze hodnota nebude delsi 
nez 70000 bytu anebo pouzival nejake ulozene procedury pro vypocet delky 
popr. konverzi, anebo to pomoci ulozene procedury prekonvertil na CLOB a 
nainsertoval do docasne tabulky. Tomu vsemu bych se rad vyhnul :)

                                                  -Dzon

##    Windows se aktivnim pouzivanim postupne stava nepouzitelnym,     ##
##   naopak linux se aktivnim pouzivanim postupne stava pouzitelnym.   ##

Search the boards