Klaus: MSSQL-Fehler bei Stored Procedure in PHP anzeigen lassen?

Beitrag lesen

Hallo

Ich erhalte dadurch die für mich ziemlich irritierende Meldung:

Fehler: Der Datenbankkontext wurde auf 'DB' geändert.

mssql_select_db("DB", $conn)

Warum? Ich bin doch bereits auf 'DB'.

Wieso bist du vor mssql_select_db bereits auf „DB“?

Eben wegen dem SQL-Statement mssql_select_db, das ich vor dem Aufruf der Prozedur abschicke.

In deinem ersten Posting schreibst du folgenden Code:

$conn = mssql_connect($mssqlserver, $mssqluser, $mssqlpass) or die ("Kann keine Verbindung zum MS SQL Server aufbauen");

mssql_select_db("DB", $conn) or die ("Kann keine Verbindung zur Datenbank herstellen");


>   
> Was steht in der Variable `$mssqlserver`{:.language-php}?  
  
Dort steht lediglich die IP-Adresse des Servers und der Port, also z.B. "10.10.7.12,1234"  
  

>   
> > > > Oder ist das einfach die letzte Meldung von MSSQL und damit kein Fehler?  
>   
> Laut deinem ersten Posting ist da ein Fehler.  
>   
> > Warning: mssql\_execute() [function.mssql-execute]: stored procedure execution failed in ...  
>   
> Welche zeile ist das? Was steht da drin?  
  
Der Befehl mssql\_get\_last\_message() zeigt ja nur die letzte Message an, egal ob Fehler oder nicht.  
Die letzte Message lautet: Der Datenbankkontext wurde auf 'DB' geändert.  
Das klingt nicht nach einem Fehler.  
  
Die Fehlermeldung wird für die Zeile genannt: $proc\_result = mssql\_execute($proc);  
  
Um möglicherweise mehr Informationen zu erhalten, habe ich vorher ein ob\_start();  
und nach der Ausführung der Prozedur  
	$error = ob\_get\_contents();  
	print\_r($error);  
  
Merkwürdigerweise kann ich das Problem seitdem nicht mehr reproduzieren. Es tritt einfach kein Fehler mehr auf...  
  
Du hast übrigens recht, dass ich noch eine recht alte PHP-Version verwende. Das liegt leider an einigen Modulen, die es für neuere Versionen (noch) nicht gibt und/oder noch nicht fehlerfrei laufen. Zudem wird es ziemlich aufwändig alle die Teile umzuschreiben, die mit der neueren Version nicht mehr unterstützt wird.