SQL Server 2005 クエリを CSV にエクスポートする方法
-
18-09-2019 - |
質問
一部の SQL Server 2005 データを CSV 形式 (引用符でカンマ区切り) にエクスポートしたいと考えています。複雑な方法はたくさん考えられますが、実際にやってみたいと思います。 右 方法。bcp を調べましたが、フィールドを引用符で囲む方法がわかりません (フィールド値に引用符を連結する以外は、見苦しいです)。sqlcmd と -o を使えばできると思いますが、それも同じ理由で見苦しく思えます。
それを行うBCP方法はありますか?
それを行うための合理的なsqlcmd方法はありますか?
Management Studio には、私が見落としているだけの、優れたシンプルなユーティリティが組み込まれているのでしょうか?
解決
Management Studioで、データベースを選択し、右クリックしてTasks->Export Data
を選択します。そこには、などのCSVやExcelなど、形式の異なる種類にエクスポートするオプションが表示されます。
また、クエリウィンドウからクエリを実行し、CSVに結果を保存することができます。
他のヒント
>ファイルに出力するクエリオプションを設定管理スタジオにおいて、及び[オプションで、クエリの結果は区切り文字としてコンマを使用して、出力するファイルに出力を設定します。
iは、sqlcmdを使用します。
sqlcmd -q "select col1,col2,col3 from table" -oc:\myfile.csv -h-1 -s","
これは、コマンドラインからそれを行うための高速な方法です。
私はSijinはそれがSQL Server Management Studioの2005年に戻るには、
で適切に引用符を追加するために取得するために言ったことよりももう一つのことをしなければなりませんでした Tools->Options->Query Results->Sql Server->Results To Grid
このオプションの横にチェックを入れます:
Quote strings containing list separators when saving .csv results
注:上記の方法SSMS 2005 Expressのために動作しません!私の知る限りではSSMS 2005のExpressを使用して.csvに結果をエクスポートするときにフィールドを引用する方法はありません。
あなただけのCSVへのクエリ結果を保存するために探しているならええ、Management Studioで非常にシンプルなユーティリティがある。
の結果セットを右クリックで、選択「保存として結果」。デフォルトのファイル・タイプはCSVです。
は、あなたが頻繁にこの操作を行う場合は、コマンドラインでの BCP を使用したり、生産プロセスにそれを構築したいことができます。
ここでの構成を説明するリンクます。
アドホッククエリの場合:
クエリの実行グリッドモード(CTRL + D)、中にの表示結果、CSVとして保存し、Excelに貼り付けると、結果グリッドで左上のボックスをクリックしてください。あなたは、テキストファイルに直接貼り付けることができるかもしれ
(今それを試すことができません)または
あまりにCSVするためのオプションを持っている「ファイルに結果」またはカンマ区切りで「結果をテキストに」
Tool..Optionsとクエリの下ですべての設定...オプション(私が思うに、チェックすることはできません)あまりに
NOCOUNTの設定
引用符がある1行に各行を維持する-w2000を使用します。
SQL 2005で、これは簡単です: 1. SQL Serverの管理スタジオとあなたがそのようなexecのsp_whateverとして、TSQLに必要なSQL文をコピーします 2. Query->結果グリッドへ 3. SQL文を強調表示し、それを実行します 4.データの結果を強調表示(結果グリッドの左上の領域には左クリック) 5.今、右クリックして、選択結果保存として、 6.タイプとして保存]でCSVを選択し、ファイル名を入力し、場所を選択し、[保存]をクリックします。
簡単!
SQL Serverの2012年 - 管理Studioます:
の解決方法1:の
クエリを実行します。
右結果ウィンドウをクリックします。
メニューからSave As結果を選択します
CSVを選択します。
の解決方法2:の
データベースを右クリックします。
を選択したタスク、データのエクスポート
ソースの選択DB
宛先の選択:フラットファイル先
ファイル名を選び、
を選択フォーマット - 区切り
テーブルを選択するか、クエリを記述
列の区切り文字を選択してください。
注: あなたは、このような引用符としてあなたのテキストフィールドを、区切りますテキスト修飾子を選ぶことができます。
あなたはカンマでフィールドを持っている場合は、、それはカンマをエスケープしていないので、あなたが、区切り文字としてカンマを使用して使用しないでください。あなたは、このような垂直バーとして、列区切り文字を選ぶことができます|代わりに、コンマ、またはタブ文字の。そうでなければ、あなたのカンマをエスケープするか、varchar型のフィールドを区切るクエリを記述。
あなたが使用する必要があるエスケープ文字やテキスト修飾子は、要件によって異なります。
Excel から行うのが最も簡単な方法だと思います。
- 新しい Excel ファイルを開きます。
- 「データ」タブをクリックします
- 他のデータソースを選択
- SQLサーバーを選択します
- サーバー名、データベース、テーブル名などを入力します。
新しいバージョンの Excel を使用している場合は、PowerPivot からデータを取り込み、このデータをテーブルに挿入できます。
SSISは、これを行うには非常に良い方法です。これは、SQL Serverエージェントジョブを使用してスケジュールすることができます。
あなたは風でそれを行うには、次のNode.jsモジュールを使用することができます: