データベースのErrorLogテーブルにエラー情報を入力しています。私はこれを行うためのユーティリティクラスを持っています:SQL Serverで改行が失われる
ErrorHandler.Error("Something has broken!!\n\nDescription");
これはうまくいきます。しかし、このテーブルにアクセスしようとすると、改行はもはや存在しないように見えます。
私はテーブルSELECT
場合:
SELECT * from ErrorLog ORDER BY ErrorDate
をログに存在するいかなる改行はありません。これは、一行の行の改行が書式設定を壊すため、予想されています。ただし、データをコピーすると、改行文字が失われ、データはすべて1行になります。
改行を挿入すると、クエリの最後にデータに改行を入れるにはどうすればよいですか? SQL Server Management Studioのビューアが改行を取り除いた場合、文字列が改行を取り除かれたかどうかわかりません。
エラーメッセージが挿入される列のデータ型は、違いがある場合はnvarchar(Max)
です。
EDIT:予期せず、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#アプリケーションを作成します。 –