问题描述
我有一个sql Server表,其列类型为X
的列varbinary(max)
。它存储XML字符串的GZIP输出。我可以将列记录导出为Windows Native格式的BCP文件,如下所示:
bcp "select top 5 X from mytable" -N foo.bcp
我有很多记录。 PYODBC比BCP慢100倍,因此,我没有尝试直接将二进制文件查询到Python中,而是尝试将BCP它们打包成一个平面文件。
我知道sql Server 2016+中有一个DECOMPRESS
函数,但是很遗憾,我仅限于不具有此功能的sql Server 2014。因此,在我看来,在BCP之前在服务器端使用DECOMPRESS
是不可行的。我必须将数据从本机格式文件中提取到Python中,然后解压缩。
问题:如何在Python 3中作为文件类型二进制对象B
从文件中分别提取5行,以便可以使用
gzip.decompress(B).decode('utf-8')
?
注意:我不是要先退出BCP,然后再重新进入BCP。我正在尝试使用Python从本机编码的BCP文件中提取varbinary记录。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)