Rose::DB::Generic - Generic driver class for Rose::DB.
use Rose::DB;
Rose::DB->register_db(
dsn => 'dbi:SomeDB:...', # unknown driver
username => 'devuser',
password => 'mysecret',
);
Rose::DB->default_domain('development');
Rose::DB->default_type('main');
...
$db = Rose::DB->new; # $db is really a Rose::DB::Generic object
...
This is the subclass that Rose::DB blesses an object into (by default) when the
driver specified in the registry entry is has no class name registered in the
driver class map.
To maximize the chance that this class will work with an
unsupported database, do the following.
- Use a driver name that exactly matches the DBI "DBD::..." driver
name. Even though Rose::DB drivers are case-insensitive, using the exact
spelling and letter case will allow this generic Rose::DB driver to
connect successfully.
- Specify the DSN explicitly rather than providing the pieces separately
(host, database, port, etc.) and then relying upon this class to assemble
them into DBI DSN. This class will assemble a DSN, but it may not be in
the format that an unsupported driver expects.
This class inherits from Rose::DB. See the Rose::DB documentation
for information on the inherited methods.
John C. Siracusa (siracusa@gmail.com)
Copyright (c) 2010 by John C. Siracusa. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same terms
as Perl itself.