0

SQL 2008 ストアド プロシージャで、列ヘッダーを含む CSV のファイルにデータをダンプする方法はありますか? BCP を使用する必要がありますか? 以前はこれに openrowset を使用していましたが、SQL 2008 の 64 ビット バージョンにはジェット ドライブがありません。

sqlcmd を使用してコマンド ラインからこれを実行したくありません。ストアド プロシージャで実行する必要があります。

4

3 に答える 3

0

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」を追加します。

于 2013-02-20T19:39:59.510 に答える
0

この例を確認できます。

http://granadacoder.wordpress.com/2009/12/22/sql-server-data-to-a-jet-database/

Jetデータベース(別名「MicrosoftAccess」)にエクスポートしています。

おそらくかなり簡単にExcelに変換できます。

ただし、コードはストアドプロシージャに入れることができます。

于 2013-02-20T19:40:37.927 に答える
0

このコードは、多くの場合に成功裏に使用されています。

http://prosqlserver.com/blog/2011/07/02/sqlclr-procedure-to-export-query-sp-results-into-csv/

于 2013-02-20T21:25:41.517 に答える