Bei Verwendung der "Microsoft SQL Server Functions" (mssql-library) von PHP 4 / 5 ist mir aufgefallen, dass beim Durchführen einer SQL-Abfrage Felder vom Typ "Text" bei einer Länge von exakt 4096 Zeichen abgeschnitten werden. Ist der Inhalt des Feldes größer, dann geht der Rest verloren.
Schuld daran ist anscheinend die C-API, welche PHP intern verwendet um mit dem SQL Server zu kommunizieren. Diese API hat außerdem dass Problem, dass keine Unicode-kodierten Zeichenfolgen übetragen kann. Beim Versuch ein Feld vom Typ "nText" zu lesen bricht das DBMS mit einer entsprechenden Fehlermeldung ab und meldet, dass die verwendete C-Bibliothek veraltet sei.
Von dem Problem betroffen ist auch das DB-Paket des PEAR-Framework, welches diese Bibliothek verwendet und daher ebenfalls fehlerhafte Ergebnisse liefert.
Gibt es irgendeine andere PHP-Bibliothek für MS-SQL, welche dieses Problem nicht hat?
Ich würde nur ungern auf eine andere Skript- oder Programmiersprache ausweichen müssen, nur weil man mit PHP keine Text-Felder aus einer MS-SQL Datenbank auslesen kann.
Schuld daran ist anscheinend die C-API, welche PHP intern verwendet um mit dem SQL Server zu kommunizieren. Diese API hat außerdem dass Problem, dass keine Unicode-kodierten Zeichenfolgen übetragen kann. Beim Versuch ein Feld vom Typ "nText" zu lesen bricht das DBMS mit einer entsprechenden Fehlermeldung ab und meldet, dass die verwendete C-Bibliothek veraltet sei.
Von dem Problem betroffen ist auch das DB-Paket des PEAR-Framework, welches diese Bibliothek verwendet und daher ebenfalls fehlerhafte Ergebnisse liefert.
Gibt es irgendeine andere PHP-Bibliothek für MS-SQL, welche dieses Problem nicht hat?
Ich würde nur ungern auf eine andere Skript- oder Programmiersprache ausweichen müssen, nur weil man mit PHP keine Text-Felder aus einer MS-SQL Datenbank auslesen kann.
Kommentar