Pythonを使用してMS SQL Serverからzlib / gzip圧縮データを読み取る

pyodbc python sql-server
Pythonを使用してMS SQL Serverからzlib / gzip圧縮データを読み取る

Python 2.6を使用してSQL Serverからデータを読み取ります。 DBの列がvarbinaryであるため、立ち往生しています。 私はpyodbcを使用していますが、Pythonプログラムのデータ型は「バッファ」です。

現在、DBのこの列にはgzip圧縮テキストが格納されています。 ‘buffer’データ型へのアクセスを考えると、これをPythonから解凍する方法を理解することはできません。

ヘルプ/ポインターはありますか?

これは私がやっていることです

con = pyodbc.connect(...)
cursor = con.cursor()
cursor.execute('select ...')
row = cursor.fetchone()

if row:
   x = row.varbinary_column_name
   asciistring = zlib.decompress(x) # throws zlib.error: Error -3 while
                                    # decompressing data: incorrect header check

前もって感謝します!

  0  0


ベストアンサー

これを行う:

print repr(x[:3])

zlib`ストリームは通常、3バイトの x \ x9cc`で始まります。 gzip`ストリームは常に2バイトの \ x1f \ x8b`で始まります。 あなたは何を持っていますか?

あなたのコメントによると、結果は '+ J \ xcd'`でした。 これは `zlib`や gzip`ではないようです。 どんなドキュメントがありますか? そのデータを作成したもののソースコードはありますか?

0


タイトルとURLをコピーしました