Paul DuBois <p...@snake.net> wrote on 10/14/2011 10:40:21 PM:

> Paul DuBois <p...@snake.net> 
> 10/14/2011 10:41 PM
> 
> To
> 
> Bill Ward <b...@wards.net>
> 
> cc
> 
> ZhangJun <gb2...@gmail.com>, <dbi-users@perl.org>
> 
> Subject
> 
> Re: why DBD::mysql need database name for connecttion ?
> 
> 
> On Oct 14, 2011, at 7:31 PM, Bill Ward wrote:
> 
> > On Fri, Oct 14, 2011 at 5:26 PM, ZhangJun <gb2...@gmail.com> wrote:
> > 
> >> 
> >> in the pod:
> >> 
> >> ####################
> >>  Class Methods
> >>      connect
> >>              use DBI;
> >> 
> >>              $dsn = "DBI:mysql:$database";
> >>              $dsn = "DBI:mysql:database=$database;host=$hostname";
> >>              $dsn =
> >> "DBI:mysql:database=$database;host=$hostname;port=$port";
> >> 
> >>              $dbh = DBI->connect($dsn, $user, $password);
> >> 
> >>          A "database" must always be specified.
> >> 
> >> ###################
> >> 
> >> why database is needed ?
> >> the mysqlclient can connect to server without this, and then select
> >> database.
> >> 
> >> 
> > You need to connect to a database before issuing any database 
commands.
> 
> Not necessarily. SHOW DATABASES, for example, doesn't need any 
> database selected.

http://search.cpan.org/~capttofu/DBD-mysql-4.020/lib/DBD/mysql.pm#Server_Administration
 


The docs do tell how to run commands without a database but its not as 
obvious as connecting without a database name.

> 
> In the connect call, the database following the second colon 
> actually is optional.
> The second colon, I believe, is not.

So is the official CPAN documentation wrong then? It does explicitly say "
A database must always be specified. "
 
> So "DBI:mysql:" is legal. Or "DBI:mysql::hostname" if you want to 
> specify a hostname.
> 
> 
> > The
> > mysql client just makes that easier to do interactively. In Perl you 
could
> > just create a different object for each database if you need to 
connect to
> > more than one. Why is this a problem?
> > 
> > -- 
> > Check out my LEGO blog at http://www.brickpile.com/
> > View my photos at http://flickr.com/photos/billward/
> > Follow me at http://twitter.com/williamward
> 
> 


Please consider the environment before printing this email.


Reply via email to