2

例外のスタックトレースをテーブルに挿入していますが、SQLクエリアナライザからそのテーブルのselectクエリを実行すると、完全なスタックトレースが表示されません。これがコードです。

DataAccess.ExecuteNonQuery(
    conn, 
    "usp_insert_error_detail", 
    iproductType, 
    "error", 
    ex.Message.ToString(), 
    ex.StackTrace.ToString());
4

1 に答える 1

1

スタックトレースのデータ型がNVARCHAR(200)であると言った場合、これでは不十分である可能性があります。スタックトレースは200文字を簡単に超える可能性があるため、これをはるかに大きくする必要があります。NVARCHAR(MAX)にすることができます。これは、最大ストレージサイズが2^31-1バイトであることを示します。ストレージサイズ(バイト単位)は、入力された文字数の2倍+2バイトです。

修正してくれたJSRのおかげで、SQL 2005でvarchar(max)が導入されたことに気づきませんでした。

于 2012-09-11T20:56:30.187 に答える