Beefy Boxes and Bandwidth Generously Provided by pair Networks Frank
Perl Monk, Perl Meditation
 
PerlMonks  

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' );


Comment on Re^2: DBI Module Question
Download Code
Re^3: DBI Module Question
by Tux (Monsignor) 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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (17)
As of 2014-04-16 14:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (428 votes), past polls