[FIX] xp_sendmail が UNICODE 形式の CSV ファイルを生成する

この記事は、以前は次の ID で公開されていました: JP280720
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
現象
SQL Server 2000 において CSV ファイルを添付する xp_sendmail コマンドを実行し、Microsoft Excel、Microsoft Word、またはその他のアプリケーション (メモ帳を除く) を使用して添付された CSV ファイルを開こうとすると、ファイルの形式を認識できないという警告が表示されることがあります。
原因
SQL Server 2000 は、xp_sendmail で UNICODE 形式のファイルを生成するためです。なおSQL Server 7.0 では、ファイルは ANSI 形式で生成されます。
解決方法
この問題を解決するために、SQL Server 2000 の最新の Service Pack の適用をお願いいたします。
最新の SQL Server サービスパックのダウンロードおよびインストールについて詳しくは以下をご覧下さい。

http://www.microsoft.com/japan/sql/download/default.asp (日本語版)
http://www.microsoft.com/sql/downloads/default.htm(英語版)
状況
弊社では、これを Microsoft SQL Server version 2000 の問題として確認しています。
この問題は、Microsoft SQL Server version 2000 Service Pack 1 で修正されています。
詳細

問題の再現手順

  1. 次のコマンドを実行します。
    execute	master..xp_sendmail	@recipients = 'user1',    	@message = 'Testing',    	@query = 'select * from sysobjects',    	@width = 256,    	@subject = 'testing',    	@attach_results = 'true',    	@no_header = 'false',    	@separator = ',',    	@attachments = 'test.csv'
  2. test.csv ファイルを受け取り、Excel または Word で開くと、ファイル形式が認識できないという警告が表示されます。
  3. SQL Server 7.0 で同じ手順を実行すると、警告は表示されません。
この修正プログラムは以下の機能を実装します。
  • xp_sendmail 用の省略可能なパラメータ @ANSI_Attachment が作成されます。このパラメータは True (ANSI の添付ファイル)、False (UNICODE 添付ファイル)、または存在しないのいずれかになります。このパラメータが省略されると、レジストリ値の ansi_attachment が読み取られます。
  • 次の新しいレジストリ キーが作成されます。
    HKLM\Software\Microsoft\Microsoft SQL Server\InstanceNameHere\SQLMAPI\ansi_attachment
    ユーザーは ansi_attachment に 1 か 0 の値を指定して、それぞれ ANSI または UNICODE を指定できます。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 280720 (最終更新日 2001-06-13) をもとに作成したものです。

プロパティ

文書番号:280720 - 最終更新日: 01/16/2015 21:11:31 - リビジョン: 2.1

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbbug kbfix kbsqlserv2000bug kbsqlserv2000sp1fix KB280720
フィードバック