Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re^2: DBI Module Question

by saberworks (Curate)
on Sep 29, 2009 at 15:54 UTC ( #798147=note: print w/replies, xml ) Need Help??

in reply to Re: DBI Module Question
in thread DBI Module Question

Is it just me or would the DBI connect syntax make a lot more sense if instead of concatenating a whole bunch of stuff together, it would just accept named arguments?
my $dbh = DBI->connect( driver => 'Pg', dbname => 'foo', host => 'foo', user => 'bar', password => 'something' );

Replies are listed 'Best First'.
Re^3: DBI Module Question
by Tux (Abbot) on Sep 30, 2009 at 08:06 UTC

    For me it would not, but I might be biased. A simple reason might be that in my case the DSN is read from $ENV{DBI_DSN}, as I work in an environment where I use the same content on many different database types, and my scripts should not care about the way to connect to the source.

    So the first three of your parameters I would never use. Then there is the freedom (shrug) of the DBD authors to implement the DSN in a way that best matches the underlying database, which is why you will see variations in 'database=', 'db=', 'dbname=' etc. It would be a disaster to build all that in DBI, which is just the API to all the DBD modules.

    User and password make sense to most databases, but certainly not to all.

    Personally, I think that $dbh = DBI->connect (dsn, usr, pw, { attr }); is a very good compromise that is easy to remember.

    Enjoy, Have FUN! H.Merijn

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://798147]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2021-03-04 20:04 GMT
Find Nodes?
    Voting Booth?
    My favorite kind of desktop background is:

    Results (107 votes). Check out past polls.