Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to use OCIStmtGetPieceInfo()

94 views
Skip to first unread message

Roland Olsson

unread,
Jun 21, 1999, 3:00:00 AM6/21/99
to
Hi,

I have tried all day to make piecewise reads of a LONG RAW column
without success. The troublemaker here is a OCIStmtGetPieceInfo() call
which crashes all the time. The previous calls to OCIDefineByPos(),
OCIStmtExecute() and OCIStmtFetch() all work as expected. But then it
all goes down with an access violation error.

Is there a good example anywhere how to do this? I am a bit confused by
the manuals when they talk about the 'define handle' passed to
OCIStmtGetPieceInfo(), what exactly is that? Maybe all these
simple/double pointers everwhere make me do something wrong. I have
found a lot of OCI examples/demos for Oracle 7 but they do not help me
much since I use Oracle 8.

Some facts: WinNT 4 sp3, C, MS DevStudio97, Oracle 8i 8.1.5

Regards,
/Roland

dgal...@my-deja.com

unread,
Jun 23, 1999, 3:00:00 AM6/23/99
to
Yeah, doing a piecewise fetch is a bit tricky & the doc is confusing.
Read the doc of the function and the section in the OCI doc about
piecewise operation carefully & attentively. I'll confess that it took
me a while to get i/o from LONG RAW working too.

The define handle is an output value; you need to pass the address of a
pointer to a handle. I have the pointer declared as "dvoid *bndhlp" in
my code and then pass its address, "&bndhlp", to the
OCIStmtGetPieceInfo() function.

Hope this helps...good luck!

- David

In article <376E6869...@crepido.com>,


Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.

0 new messages