NAME

Rose::DB::Generic - Generic driver class for Rose::DB.

SYNOPSIS

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
...

DESCRIPTION

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.

AUTHOR

John C. Siracusa (siracusa@gmail.com)

LICENSE

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.