Mailinglisten-Archive |
hi ulf, vielen dank für deine ausführliche schilderung meines problems :) du hast den nagel auf den kopf getroffen :( ich habe es mit odbc ans laufen gebracht :) hast du eine ahnung was das an performance kostet? Ulf Wendel wrote: > Hallo Oliver, > > das Problem war mir unbekannt. Ich habe eine Nachricht an die > PHPLIB User und Developer Liste geschrieben. > Ich kann der Empfehlung von Egon nur folgen, benutze ODBC. > > Die PHPLIB verwendet eine mehrstufige Abstraktion zum Zugriff auf > Sessiondaten. Dies hat den großen Vorteil, daß anders als bei > PHP4 die Anzahl der Speichermedien (theoretisch) unbegrenzt ist. > So können die Sessiondaten in einer SQL Datenbank, im Shared > Memory, als DBM-File und im Ldap gespeichert werden. > > db_mssql.inc und CT_Sql scheinen bei Deiner Konfiguration > verwendet zu werden. In db_mssql.inc wird die Funktion > affected_rows() definiert, wobei auf eine nicht existierende > Funktion zurückgegriffen wird. > > function affected_rows() { > return mssql_affected_rows($this->Query_ID); > } > > ct_sql.inc ruft in der Funktion ac_store() affected_rows() auf, > um zu prüfen oder das Anlegen (INSERT) neuer Sessiondaten > erfolgreich war: > > if ( $this->db->affected_rows() == 0 > && !$this->db->query($iquery)) { > $ret = false; > } > > session.inc wiederum benutzt ac_store() in freeze() Sessiondaten > zu speichern. Spätestens dort wird eine Fehlermeldung produziert. > > Ein Workaround könnte darin bestehen die Funktion affected_rows() > in db_mssql.inc zu verändern: > > function affected_rows() { > return 1; > } > > Damit sollte das Session Management keine Fehler mehr > produzieren. Eine richtige Lösung ist es jedoch nicht. Wer in > alter Gewohnheit $db->affected_rows() aufruft wird verwirrt sein, > warum nur ein Eintrag verändert wurde, obwohl doch mehrere > gelöscht wurden... > > Das MS-SQL Interface ist einfach nicht der Hit, da kann auch die > schönste PHPLIB nichts machen. > -- Ciao Oliver ********************************* aixTeMa Digitale Lösungen GbR Oliver Roßbruch Lütticher Str. 10-12 52064 Aachen Germany Tel.: +49 241 70515-35 Fax: +49 241 70515-15 mailto:o.rossbruch_(at)_aixtema.de http://www.aixtema.de *********************************
php::bar PHP Wiki - Listenarchive