我在我的數據庫的錯誤日誌表中輸入錯誤信息。我有一個工具類來做到這一點:在sql server中丟失換行符
ErrorHandler.Error("Something has broken!!\n\nDescription");
這工作得很好。但是,當我嘗試訪問此表時,換行符似乎不再存在。
如果我SELECT
表:
SELECT * from ErrorLog ORDER BY ErrorDate
沒有斷行目前在日誌中。這是預料之中的,因爲單行中的換行會破壞格式。但是,如果我將數據複製出來,換行符已丟失,並且數據全部位於同一行上。
當我在換行符時,如何在查詢結束時在數據中獲得換行符?我不知道該字符串是否在進入表格時被剝離了換行符,或者SQL Server Management Studio中的查看器是否刪除了換行符。
放入錯誤消息的列的數據類型是nvarchar(Max)
,如果這有所不同的話。
編輯:沒想到,Pendri的解決方案沒有工作。
這裏是字符串的摘錄其傳遞到SQL服務器之前:
:POST /ipn/paymentResponse.ashx?installation=272&msgType=result HTTP/1.0\n\rContent-Length: 833\n\rContent-Type:
這裏是相同的字符串時,我從SQL Server Management Studio中網格觀察器解壓
POST /ipn/paymentResponse.ashx?installation=272&msgType=result HTTP/1.0 Content-Length: 833 Content-Type:
換行符應該是雙倍間隔的地方。
任何想法?
當你說換行符丟失,是因爲當您從SSMS查詢並不會出現在網格結果有何看法?我相信,即使在複製和粘貼時,SSMS也會在結果中劃分換行符。您可以通過將其轉換爲varbinary並查看相關字符代碼是否存在於二進制表示中,或者通過編寫一個小型c#應用程序來驗證。 –