DBI: EXECing stored proc causes temporary DB context switch?
"Wechsler, Steven" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.dbi.sybase |
|---|---|
| Message-ID | <E67053DABCCDF4428BB7974550E1108F0307794F@DIRECTEFFECT.mtvn.ad.viacom.com> |
I've been experiencing this issue in a couple of scripts:
If I do some DBI statements, then execute the following:
$sth = $dbh->prepare("select db_name()");
$sth->execute;
while (@row = $sth->fetchrow_array) {
print "before sp_who: $row[0]";
}
$query = "exec sp_who";
$sth = $dbh->prepare($query);
$sth->execute;
undef $select;
while (@data = $sth->fetchrow_array) {
print @data;
}
$sth = $dbh->prepare("select db_name()");
$sth->execute;
while (@row = $sth->fetchrow_array) {
print "after sp_who: $row[0]";
}
$sth = $dbh->prepare("select db_name()");
$sth->execute;
while (@row = $sth->fetchrow_array) {
print "after sp_who 2: $row[0]";
}
I get this:
before sp_who: somedb
[sp who output]
after sp_who: master
after sp_who 2: somedb
Is there any explanation for this behavior?
Thanks,
Steve