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 -------------------------------------------------------------
ora-1.12-thread.patch.gz
Description: GNU Zip compressed data
