[EMAIL PROTECTED] wrote:
Hi,
Hello,
I'm trying to connect to two ms sqlserver 2000 databases with the same schema
(let's call them
dbA and dbB) using the following code:
my $connect_string = "dbi:Sybase:dbname=dbA:server=MyServer";
$connect_string .= ";host=192.168.0.2;port=1433";
my $dbh = DBI->connect($connect_string, $username, $userpass, {PrintError =>
0});
die "Unable for connect to server $DBI::errstr"
unless $dbh;
and in my freetds.conf I have:
[MyServer]
host = 192.168.0.2
port = 1433
tds version = 4.2
try domain login = no
try server login = yes
I have read access to both dbA and dbB. However if dbB is my default db and I
specify dbA as the dbname (as in the example above), or vice versa, when my
script executes the following:
Why not just "use dbB" or whichever is appropriate to the query ? I
seem to remember some bug in Sybase DBD that prevented it from
using/processing the database specified in the connect string.
$sth = $dbh->prepare("select count(*) from array");
die "Unable for connect to server $DBI::errstr" unless $sth;
if($sth->execute) {
while(my @dat = $sth->fetchrow) {
print "@dat\n";
}
}
the data is retrieved from the default db rather than the one I specified (btw,
yes, i know for sure that the "select count(*) from array" on both db's should
return different numbers). So I think that DBI's only connecting to the
default db.
As well, the statment
print "Data sources: " . ($dbh->data_sources()) . "\n $DBI::errstr\n";
prints out no data sources.
The DBD I'm using is DBD::Sybase running on the freetds library. My script's
running on a linux box and the sqlserver 2000 db's are on a windows 2000 adv
server box.
So any ideas on how I may get around this problem? I would really appreciate
any help.
Thanks,
Take care,
Bilal
HTH,
Chuck Fox
Principal DBA
America Online, INC