SQL 2008 ストアド プロシージャで、列ヘッダーを含む CSV のファイルにデータをダンプする方法はありますか? BCP を使用する必要がありますか? 以前はこれに openrowset を使用していましたが、SQL 2008 の 64 ビット バージョンにはジェット ドライブがありません。
sqlcmd を使用してコマンド ラインからこれを実行したくありません。ストアド プロシージャで実行する必要があります。
SQL 2008 ストアド プロシージャで、列ヘッダーを含む CSV のファイルにデータをダンプする方法はありますか? BCP を使用する必要がありますか? 以前はこれに openrowset を使用していましたが、SQL 2008 の 64 ビット バージョンにはジェット ドライブがありません。
sqlcmd を使用してコマンド ラインからこれを実行したくありません。ストアド プロシージャで実行する必要があります。
64ビットドライバー:
Microsoft Access DatabaseEngine2010再頒布可能パッケージ
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d
ここでの使用方法の詳細:
http ://social.msdn.microsoft.com/Forums/en-US/sqldataaccess/thread/33436d82-085c-43e4-b991-a2d0d701c8fc
リンクからの回答:
64ビットドライバーが利用可能になりました。ここからダウンロードできます。
Microsoft Access DatabaseEngine2010再頒布可能パッケージ http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d
これにより、「サーバーオブジェクト」->「リンクサーバー」->「プロバイダー」の下にリストされているドライバーが「Microsoft.ACE.OLEDB.12.0」という名前で登録されます。これはプロバイダー文字列として使用する必要があります。
64ビットOLEDBプロバイダーの接続文字列:CSV /テキストファイルの場合、OLEDB接続文字列の拡張プロパティに「テキスト」を追加します。重要:新しい12.0ドライバーおよびテキストファイルでは、schema.iniファイルはcsv / textファイルのディレクトリに必須です。そうでない場合、「インストール可能なISAMが見つかりませんでした」というエラーが発生します。schema.iniのドキュメントはここにあります:http://msdn.microsoft.com/en-us/library/ms709353(VS.85) .aspx
Microsoft Office Excelデータに接続する場合は、OLEDB接続文字列の拡張プロパティに「Excel14.0」を追加します。
この例を確認できます。
http://granadacoder.wordpress.com/2009/12/22/sql-server-data-to-a-jet-database/
Jetデータベース(別名「MicrosoftAccess」)にエクスポートしています。
おそらくかなり簡単にExcelに変換できます。
ただし、コードはストアドプロシージャに入れることができます。
このコードは、多くの場合に成功裏に使用されています。
http://prosqlserver.com/blog/2011/07/02/sqlclr-procedure-to-export-query-sp-results-into-csv/