Hi Tim,

> >
> > I know it isn't an easy thing. My main hope was that the error message
at
> > the end of my report
> >
> >
> > > > *********** Internal ERROR kghubatchfree_01 [0x1ecb290] ***********
> > > > additional information [0] [0] [0]
> > > > ***** Dump of memory around addr 0x1ecb290:
> > > >....
> >
> > does tell you anything obvious, that isn't obvious to me because of my
> > limited OCI knowledge.
>
> The only thing it tells me is that the symptom is deep in the internals :(
>

I happy to tell you that I have solved the problem. By allocating a separate
environment handle for every database handle I share, it works now as
expected, that means I can share a Oracle database connection between
threads. I append a patch against 1.12, that contains the follwing things:

- changed fprintf to PerlIO_printf and FILE * to PerlIO * to avoid compiler
warnings and segfault when traceing
- make DBD::Orcale run with ithread:
-- add CLONE sub to reset $drh
-- make ora_long, _trunc, _cache, _cache_o per thread
- Add connect attribute ora_dbh_share to allow sharing of database
connection
- Add some docs about ora_dbh_share to Oracle.pm

I hope these things will apear somehow in the next DBD::Oracle version when
you get time to work on it.

Gerald




-------------------------------------------------------------
Gerald Richter    ecos electronic communication services gmbh
Internetconnect * Webserver/-design/-datenbanken * Consulting

Post:       Tulpenstrasse 5         D-55276 Dienheim b. Mainz
E-Mail:     [EMAIL PROTECTED]         Voice:    +49 6133 925131
WWW:        http://www.ecos.de      Fax:      +49 6133 925152
-------------------------------------------------------------

Attachment: ora-1.12-thread.patch.gz
Description: GNU Zip compressed data

Reply via email to