ストック ELMAH_Error テーブルは、nText フィールドを使用してエラー エントリを格納します。タイプ XML のフィールドを追加することでそれがわかりました。次に、この新しいフィールドを、フィールドに入力する SPROC の INSERT ステートメントに追加します。ELMAH の出力をより有効に活用できます。
次に、その XML フィールド内の特定の要素の値をクエリする方法を学びたいと思います。ドキュメントは次のように構成されています。
<error [...]>
<serverVariables>
<item name="ALL_HTTP">
<value string="..." />
</item>
<item name="ALL_RAW">
<value string="..." />
</item>
.
.
.
</serverVariables>
</error>
の下にある特定のアイテムの値を照会できる必要があります。
だから私は15seconds.comの記事から例を見ています:
SELECT MyXml.value('(/root/product[@id="304"]/name)[1]', 'nvarchar(30)')
これらの値をフィールドの構造にマップしようとしていますが、できません。例えば
select top 10 RealXML.value('(/error/serverVariables[@id="REMOTE_HOST"]/name)[0]', 'nvarchar(30)')
REMOTE_HOST のフォーマットは次のとおりです。
<item name="REMOTE_HOST">
<value string="55.55.55.55" />
</item>
とても有難い