Nile
view release on metacpan or search on metacpan
lib/Nile/DBI.pm view on Meta::CPAN
my $default = $app->config->get("dbi");
$default ||= +{};
%arg = (%{$default}, %arg);
$arg{driver} ||= "mysql";
$arg{dsn} ||= "";
$arg{host} ||= "localhost";
$arg{port} ||= 3306;
$arg{attr} ||= +{};
#$arg{attr} = {RaiseError => 0, PrintError => 0, mysql_enable_utf8 => 1}
if (!$arg{name}) {
$app->abort("Database error: Empty database name.");
}
#$self->dbh->disconnect if ($self->dbh);
if ($arg{driver} =~ m/ODBC/i) {
$dbh = DBI->connect("DBI:ODBC:$arg{dsn}", $arg{user}, $arg{pass}, $arg{attr})
or $self->db_error("$DBI::errstr, DSN: $arg{dsn}");
}
else {
$arg{dsn} ||= "DBI:$arg{driver}:database=$arg{name};host=$arg{host};port=$arg{port}";
$dbh = DBI->connect($arg{dsn}, $arg{user}, $arg{pass}, $arg{attr})
or $self->db_error("$DBI::errstr, DSN: $arg{dsn}");
}
$self->dbh($dbh);
return $dbh;
#$dbh->{'mysql_enable_utf8'} = 1;
#$dbh->do('SET NAMES utf8');
}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=head2 disconnect()
$app->db->disconnect;
Disconnect from this connection handle.
=cut
( run in 0.261 second using v1.01-cache-2.11-cpan-00829025b61 )