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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.