1

msdb.dbo.sp_send_dbmailクエリ結果を添付ファイルとして送信するために使用する 場合@query_result_width、10 から 32767 までの整数であるパラメーターを提供する必要があります。 Microsoft Excel で非常に簡単に開くことができる xml 添付ファイル (2、3 回クリックするだけで、優れた Excel テーブルになります)
For XML Path('Row'), Root('Data'), Type
しかし、xml ファイルが 32767 バイトを超える場合、send_dbmail は xml ファイルの最初の行の 32767 番目の列に「改行」を挿入し、無条件にこれを行います! そこに何が書かれているかは気にしないことを意味します。改行するだけなので、xmlデータが破損します... sp_send_dbmailがその厄介な改行を挿入するのを防ぐ方法について、5時間以上インターネットをさまよっています。私が遭遇した唯一の解決策は、私が制御できる改行を挿入することでした.32767列目以降ではありません。次のようなクエリで問題は解決しますが、余分な作業が必要であり、クリーンではありません...

Select Replace(
    Cast(
        (
            Select
                *
            From Table
            For XML Path('Row'), Root('Data'), Type
        )
    As NVarChar(Max))
, N'/>', N'/><!--This is the controlled line-break. Remove this comment-->
')

誰もがより良いアイデアを持っていますか? ここで何か不足していますか?
SQL Server 2008 Enterprise (x64) を使用しています

4

0 に答える 0