Supportnet / Forum / Skripte(PHP,ASP,Perl...)
PHP mit MSSQL Text max. 1000 Zeichen ?
Frage
Liebe Supportnetuser
vorab schon mal Danke für eure Zeit und mühen.
-------------------------------------------------------------------------
Sachlage:
Ich habe eine PHP-Webseite auf einem Server(a), die
ihre Daten durch MSSQL-Abfraben bzw.
Datenbankabfragen bezieht, oder durch Prozeduren
Geliefert bekommt.
Auf einem Server(b) läuft der MSSQL-Server der die
Daten beherbergt.
-------------------------------------------------------------------------
Problem:
Ruft man Textfelder ab und gibt sie aus werden
immer nur X-Zeichen ausgegeben.
z.B.
- Wurde das Textfeld im MSSQL als String formatiert,
bekommt man maximal ca. 255 Zeichen ausgegeben.
- Wurde das Textfeld im MSSQL als Text formatiert,
bekommt man maximal ca. 1000 Zeichen
ausgegeben.
-------------------------------------------------------------------------
Frage:
Nun benötige ich aber einen Text bzw. eine Ausgabe
die länger ist als 1000 Zeichen.
Hat jemand damit Erfahrungen, weiß woran es liegt
oder hat einen Lösungsansatz oder gar eine Lösung ?
Ich weiß man könnte beim Eintragen des Textes in die
DB gleich die Textlänge ermitteln und sie in mehrerer
Felder wegschreiben bzw. dann wieder ausgeben
aber das ist ja eher ein Notnagel und keine Lösung.
In dem Sinne, freue mich auf Anregungen jeder Art
Rolf
Antwort 1 von Nessus
Hi,
normalerweise ist der Typ Text auf etwas über 65000 Zeichen beschränkt, also kommt man damit locker hin.
Wenn also in der DB nur 1000 Zeichen stehen, wurde der String beim Eintragen abgeschnitten. Evtl. ist das Feld auf 1000 Zeichen beschränkt.
Es dürfte unmöglich sein, via Ferndiagnose eine Lösung zu finden.
Alles weitere zu Feldtypen findest Du unter http://dev.mysql.com/doc/mysql/de/Column_types.html
HTH
Nessus
normalerweise ist der Typ Text auf etwas über 65000 Zeichen beschränkt, also kommt man damit locker hin.
Wenn also in der DB nur 1000 Zeichen stehen, wurde der String beim Eintragen abgeschnitten. Evtl. ist das Feld auf 1000 Zeichen beschränkt.
Es dürfte unmöglich sein, via Ferndiagnose eine Lösung zu finden.
Alles weitere zu Feldtypen findest Du unter http://dev.mysql.com/doc/mysql/de/Column_types.html
HTH
Nessus
Antwort 2 von rolf8119
Hi Nessus
ja ja soweit hast du ja recht, wenn ich mit einer MySQL-DB arbeiten würde.
Nur habe ich das Vergnügen mit einem MSSQL-Server arbeiten zu dürfen. In dem besagten Text-Feld stehen mehr als 1000 Zeichen.
Nur bei der Ausgabe bzw. der "SELECT" Anweisung
wird der Text nur teilweise ausgelesen bzw zurückgegeben und scheinbar hängt das davon ab als was das Feld deklariert wurde.
Wurde das Feld als String deklariert lifert der MSSQL
255 Zeichen zurück und schneidet den Rest ab.
Wurde das Feld als Text deklariert lifert der MSSQL
1000 Zeichen zurück und schneidet den Rest ab.
Nun stellt sich mir die Frage ob es am MSSQL-Server liegt oder an meiner PHP-Variablen, so dass sie max. 1000 Zeichen aufnehmen kann, aber das währe mir neu.
Aber Danke für die schnelle Antwort
Rolf
ja ja soweit hast du ja recht, wenn ich mit einer MySQL-DB arbeiten würde.
Nur habe ich das Vergnügen mit einem MSSQL-Server arbeiten zu dürfen. In dem besagten Text-Feld stehen mehr als 1000 Zeichen.
Nur bei der Ausgabe bzw. der "SELECT" Anweisung
wird der Text nur teilweise ausgelesen bzw zurückgegeben und scheinbar hängt das davon ab als was das Feld deklariert wurde.
Wurde das Feld als String deklariert lifert der MSSQL
255 Zeichen zurück und schneidet den Rest ab.
Wurde das Feld als Text deklariert lifert der MSSQL
1000 Zeichen zurück und schneidet den Rest ab.
Nun stellt sich mir die Frage ob es am MSSQL-Server liegt oder an meiner PHP-Variablen, so dass sie max. 1000 Zeichen aufnehmen kann, aber das währe mir neu.
Aber Danke für die schnelle Antwort
Rolf

