(Sorry for the repeated interruptions, perhaps I'm exersizing the bleeding edge ?)
I managed to get around the previous issue by adding a driver package level $installed flag. Alas, I now have another (somewhat more gruesome) issue: I'm running a test suite that 1. loads a table using 7 concurrent threads using raw binary data 2. Upon completion, the threads exit and are destroyed 3. the same table is then reloaded using 7 (new) threads, using character string data only Items 1 & 2 complete wo/ problems (at least once I add the #installed flag), but when the new threads are created and DBI->connect is called in the threads, I get the following errors: Attempt to free unreferenced scalar: SV 0x280bac00 at C:/Perl/site/lib/DBI.pm line 633. DBI::__ANON__[C:/Perl/site/lib/DBI.pm:646]('undef','undef') called at C:/Perl/site/lib/DBI.pm line 648 DBI::connect('DBI','dbi:Teradata:jhvh1','dbitst','dbitst','HASH(0x25128e4)') called at testutf8.pl line 2827 main::vartext_load_thrd(1,'jhvh1','dbitst','dbitst',7,'Thread::Queue=ARRAY(0x64b5e24)') called at testutf8.pl line 300 Here's the connect() that generates the error: my $dbh = DBI->connect("dbi:Teradata:$dsn", $userid, $passwd, { PrintError => 0, RaiseError => 0, AutoCommit => 0, tdat_charset => 'UTF8' } ) || die "Thread $thrdnum: Can't connect to $dsn: $DBI::errstr. Exitting...\n"; The DBI.pm line 633 is delete'ing one of the std. (RaiseError, PrintError, AutoCommit) entries from the \%attr and assigning the result to the internal $dbh. Note this is repeated for each thread. Any ideas what's amiss here ? Guess I'll try leaving the std. attrs alone and assigning them after connect()... Dean Arnold Presicient Corp. www.presicient.com