Dancer-Plugin-Database icon indicating copy to clipboard operation
Dancer-Plugin-Database copied to clipboard

Connection failure to Oracle DB

Open ialarmedalien opened this issue 9 years ago • 2 comments

Attempting to connect to an Oracle DB using database fails with the message

Could not create a db handle: DBI connect('database=test','username',...)
failed: ORA-12154: TNS:could not resolve the connect identifier
specified (DBD ERROR: OCIServerAttach)

Using the same config params to manually create the DB handle works correctly, though, so the following code will create a DB handle after emitting the warning above.

local $@;
eval {
    $dbh = database;
};
if ($@) {
    carp "Could not create a db handle: $@";
    $dbh = DBI->connect(
        'dbi:' . config->{plugins}{Database}{driver} . ':' . config->{plugins}{Database}{database},
        config->{plugins}{Database}{username},
        config->{plugins}{Database}{password},
        config->{plugins}{Database}{dbi_params}
    ) or die $DBI::errstr;
}

ORA-12154 refers to an error where a config file is either unreachable, incorrectly specified, or has some other similar error. More details:

  • http://ss64.com/ora/syntax-ora-12154.html
  • http://orafaq.com/wiki/ORA-12154
  • http://www.dba-oracle.com/t_ora_12154_tns_resolve_service_name.htm

Given that manual creation works, the various environment params must be set correctly, so it must be something in the DBH creation that is going wrong.

The plugin works fine when used with an SQLite db, so it's an Oracle-specific issue. I'm connecting to an Oracle 11g db, if that is helpful.

Thanks!

ialarmedalien avatar Jul 11 '15 15:07 ialarmedalien

The problem on my side will be not having an Oracle system to test with. Probably @bigpresh have that option?

ambs avatar Jul 11 '15 15:07 ambs

If you're on Linux or Windows, you can get the Express Edition (small version for developers) for free:

http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html

ialarmedalien avatar Jul 13 '15 16:07 ialarmedalien