Subject Re: [IBO] Error SQL -502
Author viruxfr54
--- In IBObjects@yahoogroups.com, Helen Borrie <helebor@t...> wrote:
> At 09:24 AM 27/05/2005 +0000, you wrote:
> >hi all,
> >
> >sorry for my english :(
> >
> >i've a probleme with multithread application
> >
> >i create 1 to 8 thread, each thread create dynamicaly a
connection, a
> >transaction and some querys.
> >
> >if in my application, i create 1 thread it's OK.
> >if i create more than 1, i've this error :
> >
> >----------------------------
> >ISC ERROR CODE:335544569
> >
> >ISC ERROR MESSAGE:
> >Dynamic SQL Error
> >SQL error code = -502
> >Attempt to reopen an open cursor
> >----------------------------
> >
> >in other forum, someone say it's because Query build a cursor for
> >reference by server, and for build the cursor a random is use (
> >Queryname + RandomString(8), but the query is dynamic so they don't
> >have a name at create and more than 1 query have the same
cursorname.
>
> An interesting conjecture. :-)
>
> >so i've add Randomize; before creating query, but that don't work :
(
>
> :-)
>
> You must isolate each thread within its own TIB_Session (also
distinct from
> the IB_Session that IBO creates for the main thread). You'll find
the
> TIB_Session component on the iboCore palette.
>
> It's simple, as long as you are careful to have the TIB_Session as
the
> *first* object created in the thread (fix up the Creation Order if
need
> be.) Then, set the IB_Session property of your connection object
to this
> session object...and so on.
>
> Helen


thaks a lot!! that's work :)

how can i set the IB_Session property to component in a datamodule ?
by setting the TIB_Session.DefaultConnection to my Connection ?

best regards

virux