SQL Server-Feld immer abgeschnitten
Ok, ich bin mit SQL Server 2008 und haben ein Feld einer Tabelle vom Typ VARCHAR(MAX)
. Problem ist, dass beim speichern von Informationen mit Hilfe Hibernate
, den Inhalt VARCHAR(MAX)
Feld wird immer abgeschnitten. Ich sehe keine Fehlermeldungen, die entweder auf dem app-server oder Datenbank-server.
Den Inhalt dieses Feldes ist nur ein plain-text-Datei. Die Größe dieser Datei wird der text 383KB.
Dies ist, was ich bisher getan habe um dieses problem zu beheben:
- Verändert das Datenbank-Feld aus
VARCHAR(MAX)
TEXT und der gleichen
problem Auftritt. - Verwendet den SQL Server Profiler und ich bemerkte, dass der vollständige text
Inhalte
empfangen durch den Datenbank-server, aber für einige Grund der profiler friert, wenn Sie versuchen
zum anzeigen der SQL mit der Kürzung problem. Wie ich schon sagte, kurz bevor es friert, ich
habe bemerkt, dass der text-Datei-Inhalt (383KB) empfangen werden, so scheint es
könnte es sein, das Datenbank-problem.
Hat jemand auf dieses problem vor? Irgendwelche Ideen, was die Ursache dieses abschneiden?
HINWEIS: möchte nur erwähnen, dass ich werde einfach in den SQL-Studio und kopieren Sie den Inhalt des Textfelds und einfügen zu Textpad. Das ist, wie ich bemerkt, es wird immer abgeschnitten.
Vielen Dank im Voraus.
Könnten Sie bitte erklären, warum Sie davon abraten Profiler ?
Weil Profiler können Sie Ihre server in die Knie zu zwingen. So kann eine Spur und kann so Erweitert Ereignisse, aber es ist viel leichter zu tun mit Profiler. Aus diesem Artikel:
SQL Server Profiler is a tool to be avoided on busy production servers, as shown by the tenfold increase in duration and significant reduction in throughput for the replay.
Ich sehe, gute Erklärung, danke!
InformationsquelleAutor Marquinio | 2012-06-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein problem ist, dass Sie denken, Management-Studio ist vorhanden, die Sie mit allen Daten. Tut es das nicht. Gehen Sie zu Extras > Optionen > Abfrage-Ergebnis > SQL-Server. Wenn Sie Ergebnisse in Raster, ändern Sie die "Maximale Anzahl von Zeichen Abgerufen werden" für die "Nicht-XML-Daten" (beachten Sie, dass die Ergebnisse auf Gitter eliminieren CR/LF). Wenn Sie Ergebnisse in Text, ändern Sie die "Maximale Anzahl von Zeichen in jeder Spalte angezeigt wird."
Sie könnten versucht sein, geben Sie mehr, aber die maximale können Sie die Rückgabe innerhalb von Management Studio ist:
Wenn Sie wirklich wollen, um zu sehen, alle Daten, die Sie in Management Studio können Sie versuchen Umwandlung in XML, aber das hat die Probleme auch. Erste Gruppe Ergebnisse Auf Raster - > XML-Daten bis 5 MB oder unbegrenzt, dann tun:
Nun, dies wird produzieren ein raster ergeben, wo der link tatsächlich geklickt werden kann. Dies wird öffnen Sie ein neues editor-Fenster (es wird nicht eine Abfrage-Fenster, also nicht über die execute-buttons, IntelliSense, etc.) mit Ihren Daten in XML umgewandelt. Dies bedeutet, es wird ersetzen
>
mit>
etc. Hier ein kurzes Beispiel:Ergebnis:
Wenn Sie auf das raster, Sie erhalten dieses Fenster:
Ist(es ist Art von IntelliSense, Validierung von XML-format, das ist, warum Sie sehen die squigglies.)
ZURÜCK AUF DER RANCH
Wenn Sie nur wollen, um die überprüfung durchzuführen und nicht wirklich wollen, kopieren Sie alle 383K anderswo, dann nicht! Überprüfen Sie einfach mit:
Diese sollen Ihnen zeigen, dass Ihre Daten aufgezeichnet wurden, von der Datenbank, und das problem ist, das Werkzeug und die Methode der überprüfung.
(Hab ich da geschrieben ein Tipp zu diesem hier.)
SELECT CONVERT(XML, 'bob & sally')
schlägt mitXML parsing: line 1, character 6, illegal name character
. Könnten SieSELECT 'bob & sally' FOR XML PATH('')
aber das gibtbob & sally
. Ich bevorzugeSELECT 'bob & sally' AS [processing-instruction(x)] FOR XML PATH('')
zu vermeiden, die entitisation.guter Punkt, wenn ich mit XML so ist es in der Regel eine Verknüpfung für den Umzug viel mehr basic-Zeichenfolgen auf den oberen Bereich.
Das einzige, was ich hinzufügen, ist, dass eine änderung der Begrenzung auf text-Ausgabe erfordert einen Neustart des SSMS.
InformationsquelleAutor Aaron Bertrand
versuchen Sie es mit
SELECT * FROM dbo.table for XML PATH
InformationsquelleAutor Mahesh
Ich hatte eine ähnliche situation. Ich habe ein excel-sheet. Ein paar Spalten im Blatt kann mehr als 255 Zeichen, manchmal sogar 500. Ein einfacher Weg war, um die Zeilen zu Sortieren von Daten, indem Sie die Zeilen mit den meisten Zeichen oben auf. Sie brauchen eigentlich nur eine Zeile. Wenn SQL importiert die Daten, erkennt er das Feld mit mehr als 255 Zeichen und der Import der gesamten Daten 🙂
Sonst, Sie schlug mit regedit zu ändern, einen bestimmten Wert. Wollte nicht, das zu tun.
Hoffe, das hilft
InformationsquelleAutor Ferd