Wprowadzam informacje o błędach do tabeli tabeli błędów w mojej bazie danych. Mam do tego klasę użytkową:podziały wierszy utracone na serwerze sql
ErrorHandler.Error("Something has broken!!\n\nDescription");
To działa dobrze. Jednak gdy próbuję uzyskać dostęp do tej tabeli, linie podziału nie wydają się już obecne.
Gdybym SELECT
tabeli:
SELECT * from ErrorLog ORDER BY ErrorDate
nie istnieją podziały wiersza występuje w dzienniku. Tego rodzaju oczekiwano, ponieważ łamanie linii w wierszach jednoliniowych przerwałoby formatowanie. Jeśli jednak skopiuję dane, znaki podziału linii zostały utracone, a dane są w jednym wierszu.
Jak uzyskać podział wiersza w danych na końcu zapytania, gdy umieszczam podziały wierszy? Nie wiem, czy ciąg znaków został pozbawiony podziałów linii, gdy wejdzie do stołu, czy przeglądarka SQL Server Management Studio usunęła linie podziału.
Typ danych kolumny, w której umieszczane są komunikaty o błędach, to nvarchar(Max)
, jeśli to robi różnicę.
EDYCJA: Niespodziewanie rozwiązanie Pendri nie zadziałało.
Oto fragment napisu tuż przed przekazaniem do serwera SQL:
POST /ipn/paymentResponse.ashx?installation=272&msgType=result HTTP/1.0\n\rContent-Length: 833\n\rContent-Type:
I tu jest ten sam ciąg kiedy wyodrębnić go od widza siatki w SQL Server Management Studio:
POST /ipn/paymentResponse.ashx?installation=272&msgType=result HTTP/1.0 Content-Length: 833 Content-Type:
Miejsce, w którym powinien znajdować się podział linii, zostało podwójne.
Wszelkie pomysły?
Kiedy mówisz podziały wierszy zostaną utracone, czy to dlatego, że nie są wyświetlane w widoku siatki wyników po uruchomieniu zapytania z SSMS? Uważam, że system SSMS usuwa podziały wierszy w wynikach, nawet podczas kopiowania i wklejania. Można to zweryfikować, rzucając na varbinary i sprawdzając, czy odpowiednie kody znaków są obecne w reprezentacji binarnej, lub pisząc małą aplikację C#. –