RE: MS SQL 'Changed database context' error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The MSSQL standard mssql extension handles the 'Changed database context'
message correct.

Each query send to the SQL server results in some form of message
returned. This can be either an error message or an information message.
The MSSQL extension uses two ini settings to tell PHP how to handle these
messages. If a message from the server has a severity equal to or higher
than the setting in php.ini, PHP will create a warning or an error (stop
processing the script).

The default setting for both parameters is 10, and that should give a
smooth execution of most PHP scripts. For debugging you might want to
lover these values. (And this is not what I said in an earlier post but I
was wrong then. This time I checked it :-))

'Changed database context' has a severity = 0. This will only be handled
by PHP if mssql.min_message_severity = 0. 

The mssql_get_last_message() function will always return the last message
from the server. This function should not be used to check for errors. The
function is intended to give the programmer a tool to fetch the message if
an error is detected.

- Frank



> Hi Robert,
> 
> I've seen your name on a few of the ODBTP posts.  You're one of the
> developers of same, yes?  Are you familiar with the 'Changed database
> context' message?  Do you know for sure that ODBTP handles that
correctly?
> 
> Thanks.
> 
> Michael
> 
> -----Original Message-----
> From: Robert Twitty [mailto:rtwitty@xxxxxxxxxxxxxxxxx]
> Sent: Thursday, February 19, 2004 5:38 PM
> To: Michael Flanagan
> Cc: php-db@xxxxxxxxxxxxx
> Subject: RE:  MS SQL 'Changed database context' error
> 
> 
> Hi Michael
> 
> You might get better results using the odbtp extension with support for
> the mssql functions. Since you are using Windows, use
> php_odbtp_mssql.dll instead of php_mssql.dll.
> 
> -- bob
> 
> On Thu, 19 Feb 2004, Michael Flanagan wrote:
> 
> > Adam,  Thanks for the suggestions.  I don't want to ignore all error
> > handling.  Later, I might get an error that I really don't want php
to
> > swallow due to either of your suggestions.
> >
> > Has anyone else run into this and solved it?
> >
> > Any idea why the following lines in the php.ini file don't work?
> > mssql.min_error_severity = 11
> > mssql.min_message_severity = 11
> >
> > Michael
> >
> > -----Original Message-----
> > From: Adam Voigt [mailto:adam@xxxxxxxxxxxxx]
> > Sent: Thursday, February 19, 2004 12:44 PM
> > To: Michael Flanagan
> > Cc: php-db@xxxxxxxxxxxxx
> > Subject: RE:  MS SQL 'Changed database context' error
> >
> >
> > Try putting the error suppressor (@) before the query, eg:
> >
> > @mssql_query
> >
> > Or, try setting the error reporting:
> >
> > error_reporting(0);
> >
> >
> >
> > On Thu, 2004-02-19 at 14:38, Michael Flanagan wrote:
> > > Thanks, Adam.
> > >
> > > I don't get the error in Enterprise manager.  MS has a KB article
out
> that
> > > says that this message is informational.  I seem to remember that
the
> > > article also says the message comes out some times, and not other
times,
> > but
> > > that you should just forget it.
> > >
> > > The particular SELECT statement I'm getting the message on is the
second
> > > query in my script.  The other query is to the same db; in fact, it
uses
> > the
> > > exact same $db connection object.
> > >
> > > Any ideas on getting PHP to ignore this info message?
> > >
> > > Thanks again.
> > > Michael
> > >
> > > -----Original Message-----
> > > From: Adam Voigt [mailto:adam@xxxxxxxxxxxxx]
> > > Sent: Thursday, February 19, 2004 12:13 PM
> > > To: Michael Flanagan
> > > Cc: php-db@xxxxxxxxxxxxx
> > > Subject: Re:  MS SQL 'Changed database context' error
> > >
> > >
> > > This may not be the case, but I've seen this before when the PHP
library
> > > didn't know how to express MS SQL's error, so it simply returns the
last
> > > message sent which was the informational context change. If it is
infact
> > > an error, you should be able to plug the query directly into
Enterprise
> > > Manager to see MS SQL's take on the problem, so to speak. =)
> > >
> > > But again, this is all just in my past experience's, yours may
differ
> > > greatly.
> > >
> > >
> > >
> > > On Thu, 2004-02-19 at 14:08, Michael Flanagan wrote:
> > > > I'm getting the error "Changed database context" from MS SQL.  I
see
> > > > where this is supposedly just an informational message.  I've
tried
> > > > setting
> > > >
> > > > mssql.min_error_severity = 11
> > > > mssql.min_message_severity = 11
> > > >
> > > > but to no avail.  What am I missing?  I don't mind the message so
> much,
> > > > but php treats this as an error, and doesn't execute my query.
> > > >
> > > > I'm running php 4.3.3 for Windows; the SQL Server and web server
are
> on
> > > the
> > > > same machine.  I'm using PEAR:DB for the database access.
> > > >
> > > > Thanks.
> > > >
> > > > Michael Flanagan
> > > > voice: (1) 303-674-2691
> > > >   fax: (1) 603-963-0704 (note '603' area code)
> > > > mailto:mflanagan@xxxxxxxxxxxxxx
> > > --
> > >
> > > Adam Voigt
> > > adam@xxxxxxxxxxxxx
> > >
> > > --
> > > PHP Database Mailing List (http://www.php.net/)
> > > To unsubscribe, visit: http://www.php.net/unsub.php
> > --
> >
> > Adam Voigt
> > adam@xxxxxxxxxxxxx
> >
> > --
> > PHP Database Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> > --
> > PHP Database Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> >
> 
> -- 
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux