package Probe::DBI; use strict; use warnings; use threads; use threads::shared; use base qw(Class::DBI::MSSQL); my $dbh; share($dbh); $dbh = &share({}); bless($dbh, __PACKAGE__.'::db'); sub db_Main { unless ($dbh->{Active}) { $dbh = &share(DBI->connect_cached('dbi:ODBC:DRIVER={SQL Server};Server=moproj24;TargetDSN=probe', 'pr_user', 'pr_user', { __PACKAGE__->_default_attributes() })); } return $dbh; }