07-02-2008
DBI - Change database
Hello !
I am working on a small Perl script that should connect to the MySQL server, will select all the databases one by one and do some queryes on each. I started working on it but I just saw that on the
DBI manual page there's no method for changing the working database. Am I missing something or the only way to change the database is to disconnect and reconnect using a different DSN ?
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
We ran into an issue trying to install DBI and DB2 modules for perl for AIX from the link
http://www-306.ibm.com/software/data/db2/perl/
We tried to install the DBI module using
bash# perl -MCPAN -e 'install DBI'
command. However we ended up with the following error.
Stop.
... (3 Replies)
Discussion started by: jerardfjay
3 Replies
2. Shell Programming and Scripting
how to disable the contraint type of a field (which is present in diffrent tables ) in database using a single unix script file. (4 Replies)
Discussion started by: shaksing
4 Replies
3. Programming
hi i am trying to connect to an oracle database using dbi and i get this ::
Driver has not implemented the disconnect_all method. at /opt/perl/lib/site_perl/5.8.0/sun4-solaris/DBI.pm line 575
END failed--call queue aborted.
for all i know, the script was working earlier, but has... (1 Reply)
Discussion started by: poggendroff
1 Replies
4. Programming
Hello. I am taking a Perl class in college and we've briefly covered SQL and moved on. We have a term project and we can do whatever we want. My project will rely strongly on an SQL Database so I am trying to learn as much about Perl DBI as I can to get things up and going.
I am basically... (1 Reply)
Discussion started by: Dave247
1 Replies
5. Shell Programming and Scripting
Hi,
I want to connect perl with the mysql to select and so on but the connection don't work
code
#!/usr/bin/perl
BEGIN {
# PERL MODULES WE WILL BE USING
use DBI;
$dbh = DBI->connect('DBI:mysql:C:\Program Files\MySQL\MySQL Server 5.0\data\db1','','pass') or die $DBI::errstr;}
#... (1 Reply)
Discussion started by: eng_shimaa
1 Replies
6. UNIX for Advanced & Expert Users
i've been struggling with installing the Perl DBI & DBD modules all weekend, and I'm getting close, but no cigar as of yet. When I run the perl script db.pl I get the following mismatch error:
Mon Apr 19 09:43:29 EDT 2010
/Library/Perl/DBD-mysql-4.011 ->
peterv@MBP17.local<515>$: db.pl | tee... (0 Replies)
Discussion started by: peterv6
0 Replies
7. Shell Programming and Scripting
Hi there, I have a bit of code similar to below (which ive actually got from perldoc, but mine is similar enough)
$sth = $dbh->prepare(q{ SELECT region, sales FROM sales_by_region });
$sth->execute;
my ($region, $sales);
# Bind Perl variables to columns:
$rv =... (4 Replies)
Discussion started by: hcclnoodles
4 Replies
8. Shell Programming and Scripting
Hi All,
I installed DBI module in a non INC location and using it in my script via "use lib".
But it throw the below error at the "use DBI" step.
Please help
Usage: DBI::_install_method(dbi_class, meth_name, file, attribs=Nullsv) at /xx/xxx/xxxxx/xxxxx/oracle/lib/DBI.pm/oracle/lib/DBI.pm line... (2 Replies)
Discussion started by: prasperl
2 Replies
9. Red Hat
my os details as follow
bash-3.2$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.8 (Tikanga)
I run the following and encounter the following error
bash-3.2$ mysqlhotcopy -?
Can't locate DBI.pm in @INC (@INC contains:... (5 Replies)
Discussion started by: jediwannabe
5 Replies
LEARN ABOUT CENTOS
cgi::session::driver::mysql
CGI::Session::Driver::mysql(3) User Contributed Perl Documentation CGI::Session::Driver::mysql(3)
NAME
CGI::Session::Driver::mysql - CGI::Session driver for MySQL database
SYNOPSIS
$s = new CGI::Session( 'driver:mysql', $sid);
$s = new CGI::Session( 'driver:mysql', $sid, { DataSource => 'dbi:mysql:test',
User => 'sherzodr',
Password => 'hello' });
$s = new CGI::Session( 'driver:mysql', $sid, { Handle => $dbh } );
DESCRIPTION
mysql stores session records in a MySQL table. For details see CGI::Session::Driver::DBI, its parent class.
It's especially important for the MySQL driver that the session ID column be defined as a primary key, or at least "unique", like this:
CREATE TABLE sessions (
id CHAR(32) NOT NULL PRIMARY KEY,
a_session TEXT NOT NULL
);
To use different column names, change the 'create table' statement, and then simply do this:
$s = new CGI::Session('driver:mysql', undef,
{
TableName=>'session',
IdColName=>'my_id',
DataColName=>'my_data',
DataSource=>'dbi:mysql:project',
});
or
$s = new CGI::Session('driver:mysql', undef,
{
TableName=>'session',
IdColName=>'my_id',
DataColName=>'my_data',
Handle=>$dbh,
});
DRIVER ARGUMENTS
mysql driver supports all the arguments documented in CGI::Session::Driver::DBI. In addition, DataSource argument can optionally leave
leading "dbi:mysql:" string out:
$s = new CGI::Session( 'driver:mysql', $sid, {DataSource=>'shopping_cart'});
# is the same as:
$s = new CGI::Session( 'driver:mysql', $sid, {DataSource=>'dbi:mysql:shopping_cart'});
BACKWARDS COMPATIBILITY
As of V 4.30, the global variable $CGI::Session::MySQL::TABLE_NAME cannot be used to set the session table's name.
This is due to changes in CGI::Session::Driver's new() method, which now allows the table's name to be changed (as well as allowing both
the 'id' column name and the 'a_session' column name to be changed).
See the documentation for CGI::Session::Driver::DBI for details.
In particular, the new syntax for "new()" applies to all database drivers, whereas the old - and bad - global variable method only applied
to MySQL.
Alternately, call $session -> table_name('new_name') just after creating the session object if you wish to change the session table's name.
LICENSING
For support and licensing see CGI::Session.
perl v5.16.3 2008-07-16 CGI::Session::Driver::mysql(3)