Hallo zusammen,
Ich versuche gerade eine Migration von MySQL zu SQL Server 2008. Die ersten Hürden sind genommen.
Ich verbinde mit PDO und ODBC zum SQL Server:
$DBO = new PDO('odbc:MyDatabase');
Ich bekomme nun diese Fehlermdelung:
General error: 0 [Microsoft][SQL Server Native Client 10.0]Connection is busy with results for another command
Verursacht wird diese laut Zeilennummer von "hasChildKats".
Ich habe nun schon ewig gegoogelt und in vielen Beiträgen gelesen. Irgendwie hat dies etwas damit zu tun, dass der SQL Server "mehrere Verbindungen" aufmacht?
Ich kann den Fehler beheben indem ich in den Connection String "MARS_Connection=yes" einfüge.
Andererseits lese ich aber das gerade das aktivierte MARS Probleme bereiten kann. Es ist ja Default auf OFF.
An den SQL Abfragen ansich ist ja vermutlich nichts falsch.
Kann mir jemand ein wenig Hintergrundinfos zu MARS geben bzw. ob es ok ist, wenn man es aktiviert?
function getSubdirIds($parentid){//finds all Subdirs , returns an array with all subdir ids
global $DBO;
$subdirids = "";
$sql_ids = $DBO->query("SELECT DirectoriesID,Level FROM directories WHERE ParentID = '$parentid' ORDER BY DirectoriesID");
while($rowids = $sql_ids->fetch(PDO::FETCH_ASSOC)) {
if(hasChildKats($rowids['DirectoriesID'])) {
....
function hasChildKats($katID) {
global $DBO;
$einlesen = $DBO->query("SELECT DirectoriesID FROM directories WHERE ParentID = '$katID' ");
$sql_data = $einlesen->fetch(PDO::FETCH_ASSOC);
if($sql_data){
return true;
}else{
return false;
}
}
vielen Dank und viele Grüße
hawk