0

私はこれに対する答えを探しましたが、存在しないようです。問題:Webサイトがデータベースにクエリを実行していて、結果を(Excelへのエクスポートとして)タイムリーに返すことができません。これは主に結果セットのサイズによるものです。待機中のクエリを「ping」するバックグラウンドプロセスを設定し、クエリを1つずつ実行して、ダウンロード元の場所にデータをダンプしたいと思います。「ping」タスクは、さまざまな方法で処理できます。私の元々の理想的な解決策は、データをファイルシステムにエクスポートするトリガー(またはSQL Serverエージェントタスク)でした。しかし、単純なT-SQLステートメントを使用してファイルシステムへのアモルファス出力を設定する方法がわからないという問題が発生しました。

SSISは明らかにこれに対する標準的な解決策です。SSISについては、自分がやりたいことを処理できるかどうかを知るのに十分なことはわかりませんが、クエリの数が多すぎて出力が多すぎて、実行可能なソリューションにはならない、と言われています。

xp_cmdshellを実行して、BCPエクスポートを実行できます。これは問題なく機能しますが、明らかにセキュリティホールを開きます。

以前のソリューション:数年前に使用したソリューションである、オペレーティングシステムに直接データを渡すDTSは、SQL Server 2008/2012で無効になっているようです。また、sp_makewebtaskを使用してデータをファイルシステムに直接エクスポートすることもできましたが、現在は使用できません。どちらでもできます。

現在の解決策実行を管理するために、いくつかのSQLテーブルとストアドプロシージャに関連付けられたPowerShellスクリプトを作成しています。これは理想的ではない解決策のようです。私は何かを逃したかどうかについて興味があります。構造なしでデータをエクスポートするようにSSISを設定する簡単な方法はありますか?その場でExcelファイルを作成してデータを入力する方法はありますか?

答えはノーのようです。

4

1 に答える 1

0

Excel の代わりに CSV にエクスポートできますが (Excel は CSV ファイルを簡単に開くため)、書式設定はありません。SSIS (またはスケジュールされたタスクの BCP) を設定して、カンマとテキスト区切り記号が既に含まれている単一の列を CSV ファイルにエクスポートすることができます。これにより、データは Excel によって別の列に表示されます。

于 2013-01-05T12:03:44.157 に答える