2016-10-14 2 views
2

どのようにtsqlクエリだけでSQL Serverフィールドを解凍することができますか?tsqlでgzipedフィールドを解凍する前に2016の機能

仮定:

  • フィールドは、アプリケーションからGZIPを使用して圧縮しました。
  • フィールドは、varbinary(max)です。
  • MSSQLのバージョンが2016未満です。つまり、decompress functionは使用できません。

これは可能ではないと私はGoogleで検索してみましたが、何も見つかりませんでした。私はこれについての確認をしたいと思います。

+1

代わりのTSQL ... –

+0

@KannanKandasamy目標は、クエリ結果の列のフィールドの内容を取得することですので、これはオプションではありません。 – daniloquio

答えて

1

私はあなたの最善の策はCLRソリューションを検討することだと思います。 CLR関数はC#で記述され、標準のSQL呼び出しで実行できます。 CLR関数のインターネット上には多くの例があります。

私の回答は、純粋にSQL Serverであり、SSISなどのソリューションがインストールされていないことを前提としています。

ここに基本的な例のリンクがあります。 gzipsを扱うライブラリをロードします。ここでは多くのソリューションの方向性があります。あなたはSystem.IO.CompressでSSISスクリプトタスクを使用して解凍することができます https://www.skylinetechnologies.com/Blog/Skyline-Blog/March-2013/CLR-Functions-in-SQL-Server-A-Tutorial

+1

これは素晴らしいものです。以前はCLR関数を使用していませんでした。圧縮解除は、引用した記事とまったく同じように実装することができ、C#の分割機能を圧縮解除の実装に必要な3行に変更するだけです。ありがとう!私はあなたの答えを受け入れる前に誰かが代替案を投稿しているかどうかを確認するのを待つでしょう。 – daniloquio

関連する問題