Hopefully this is the right place for this, if there is a list for
DBIx::Recordset let me know.

Started playing with DBIx::Recordset and I'm trying to initialize it
with a DBI created database handle.

Here is what the docs say:

!DataSource
     Specifies the database to which to connect. This information can be
given in the following ways:
.....
an DBI database handle
     Uses given database handle.

So I tried this:

 *set = DBIx::Recordset -> Search ({'!DataSource'=> $iodbh,
                                    '!Table'      => 'payroll',
                                    '$where'      => 'APID = ? and paid
= ?',
                                    '$values'     => [$APID, 0] }) ;


where $iodbh is a database handle.  I'm sure the handle is good.  I need
to be able to connect this way because my app reads all the database
passwords etc as root when apache launches (its mod_perl) and I need to
keep the passwords out of the CGI scripts (ie not readable by web user).

Error message I get is:

Can't get DBI::db=HASH(0x9e11650)->{Name}: unrecognised attribute at
/usr/local/lib/site_perl/DBIx/Recordset.pm line 178.

Hoping this is just a syntax misunderstanding on my part.  I have
included the code from DBIx::Recordset below and my code that
initializes the handle.

Thanks.

Here is the area around 178

 elsif (ref ($data_source) and eval { $data_source->isa('DBI::db') } )
         { # copy from database handle
         $self->{'*Driver'}     = $data_source->{'Driver'}->{'Name'} ;
178:  $self->{'*DataSource'} = $data_source->{'Name'} ;
         # DBI does not save user name
         $self->{'*Username'}   = undef ;
         $self->{'*DBHdl'}      = $data_source ;
         # XXX no idea how to fetch attr hash other than handle itself
         $self->{'*DBIAttr'}    = {} ;
         $self->{'*MainHdl'}    = 0 ;
         }

This is my code initializing the database handle:

  $Inouthandle ||= DBConnect (
    hostname => $server,
    database => $AsqlConfig::systemdatabase,
    username => $AsqlConfig::systemuser,
    passwd => $AsqlConfig::systempassword,
    driver => $AsqlConfig::systemdriver,
        );



Wade




--
Wade Burgett
Burgett Systems
http://www.burgettsys.com/
[EMAIL PROTECTED]



Reply via email to