我在我的数据库的错误日志表中输入错误信息。我有一个工具类来做到这一点:在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#应用程序来验证。 –