0

: L2SQL データコンテキストを使用して SQL Server ストアド プロシージャを呼び出そうとしているのではありません。

私は LINQPad を使用して、配列に保存された L2SQL 出力を取得し、さらに処理するかなり複雑な「レポート」を作成します。

たとえば、通常、T-SQL クエリを最適化して適切な時間内に実行するよりも、LINQ to Objects を使用して複数レベルのグループ化を行う方がはるかに簡単です。

これらの「アプリケーション」のいずれかの最終結果を取得し、それを SQL Server 2008 ストアド プロシージャで使用する最も簡単な方法は何でしょうか?

データを Excel にコピーして貼り付ける (手作業) のではなく、Reporting Services のレポートに使用するという考え方です。レポートは、レポート サーバー上でアクセスできる必要があります (アプリケーションでレポート サーバー コントロールを使用するのではありません)。

CSV を出力し、コマンド ライン exec を介してそれを読み取ることができましたが、それはハックのようです。ご協力いただきありがとうございます。

4

2 に答える 2

2

2 つの可能性があり、どちらも「生の」ADO.NET を使用する必要があります。

  1. SqlBulkCopyクラスを使用してデータをステージング テーブル (一時テーブルの場合もあります) に挿入し、ストアド プロシージャをコーディングしてそのテーブルから読み取ります。また

  2. DataSetデータをorに書き込み、テーブル値パラメーターDataTableを使用してストアド プロシージャに渡します。

2 番目の方法は最初の方法よりも「クリーン」ですが、非常に大量のデータ (数百行を超える) がある場合はパフォーマンスが低下します。

于 2010-06-03T20:55:53.430 に答える
0

SQL Server 2005 以降では、ストアド プロシージャを .NET で記述できます。そうすれば、レポートで LINQ を使用できます。

正式名称は「CLR ストアド プロシージャ」です。 素敵な紹介です。

于 2010-06-03T20:55:41.997 に答える