-1

データベース(SQL Server 2008)にバイナリ形式で画像を保存しています。テーブルのフィールドデータ型は画像です。

現在、そのテーブルには数百万を超える行があります。今、私はそのバイナリデータを圧縮したいと思います。

私はいくつかの解決策を検索しましたが、それらはフォームレベルであるため、C#またはVB.netでコードを記述し、そのバイナリデータをそのページに表示する必要があります。それらをコードで圧縮することにより、その特定のレコードを更新する必要があります。

しかし、私は大量のデータを持っているため、フォーム側でこのプロセスを実行するのは時間がかかる可能性があるため不便です。

したがって、SQLのコードが必要なのは、データベースにストアドプロシージャを作成するためです。これを使用して、一度に各行を取得し、そのバイナリデータを直接圧縮して、その特定の行のフェッチされた列を更新できます。

SQLServer2008でこのプロセスを実行するために利用できる方法はあります

前もって感謝します。

4

3 に答える 3

1

CLRを使用できます:これはすでに作成されており、ロールする準備ができています... http://www.sqlmag.com/article/common-language-runtime-clr/using-large-clr-udts-in-sql-server- 2008

于 2012-07-07T11:59:01.800 に答える
1

SQL Server 2008 Developer または Enterprise Edition を使用している場合は、MSDNの説明に従って圧縮を有効にすることができます。

于 2012-07-07T11:45:03.430 に答える
1

FILESTREAMSQL Server でこの型を使用できない場合、サーバーは 2008 年以降の圧縮を既にサポートしているはずです。

MSDN のドキュメントを参照してください。必要なのは、ファイル ストリームが圧縮されたボリュームにあり、その場で発生することを確認することだけです。

于 2012-07-07T11:45:11.757 に答える