現象
Microsoft SQL Server Management Studio (SSMS) または SQL Server Data Tools (SSDT) を使用して、テーブルを CSV ファイルとしてエクスポートします。 たとえば、SQL Server Integration Services (SSIS) プロジェクトでテーブルを CSV 形式にエクスポートします。
テキスト修飾子として二重引用符 (") を選択し、レコードに二重引用符が含まれている場合、出力でマークが正しくエスケープされない可能性があります。
例
元のデータ |
big"data |
期待される出力 |
"big""data" |
実際の出力 |
"big"data" |
解決方法
この問題の修正プログラムは、SQL Serverの次の更新プログラムに含まれています。
SQL Server 2017 の累積的な更新プログラム 8
この更新プログラムをインストールした後、CSV 形式を使用してテーブルをエクスポートするときに、その値を True に設定して "エスケープ修飾子" 機能を有効にする必要があります。
エスケープ動作を使用する場合は、保存された SSIS パッケージの SSDT で "エスケープ修飾子" 機能を変更する必要があります。
次のスクリーンショットは、EscapeQualifier プロパティの詳細を示しています。
注:
-
EscapeQualifier プロパティは既定で無効になっているため、この機能を有効にできないという制限がSQL Serverインポートおよびエクスポート ウィザードにあります。
-
ウィザードを使用して SSIS パッケージを保存し、SSDT を使用してそのプロパティを変更するだけで、この機能を取得できます。
-
詳細については、「Flat File Custom Properties - SQL Server Integration Services (SSIS) |」を参照してください。Microsoft Learn。
ビルドSQL Serverについて
SQL Serverの各新しいビルドには、前のビルドにあったすべての修正プログラムとセキュリティ修正プログラムが含まれています。 お使いのバージョンのSQL Serverに最新のビルドをインストールすることをお勧めします。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
参考資料
Microsoft がソフトウェア更新プログラムの説明に使用する標準的な 用語 について説明します。