如何通过Python 3.5从Firebird 2.5获取pdf/jpg文件?
我使用Python3.5完成此任务+库fdb。我的剧本:如何通过Python 3.5从Firebird 2.5获取pdf/jpg文件?,python,blob,firebird,fdb,Python,Blob,Firebird,Fdb,我使用Python3.5完成此任务+库fdb。我的剧本: import fdb con = fdb.connect( host='host', database='database', user='IAKUZNETSOV', password='111111' ) cur = con.cursor() cur.execute("select DATA from ATTACHMENTS where OID = '6512165313'") fileToSave= cur.fet
import fdb
con = fdb.connect(
host='host', database='database',
user='IAKUZNETSOV', password='111111'
)
cur = con.cursor()
cur.execute("select DATA from ATTACHMENTS where OID = '6512165313'")
fileToSave= cur.fetchone()[0]
with open('c:\\python5.jpg', 'wb') as f:
f.write(fileToSave)
尝试保存文件后,我收到错误:
UnicodeDecodeError:“charmap”编解码器无法解码位置中的字节0x98
578:角色映射到
数据库中的编码字段:Win-1251类型:Blob
如何修复它?发生此错误的原因是blob字段的子类型1(文本) 这些措施包括: 0-二进制数据(图像、视频、音频等) 1-文本(基本字符功能工作) 2-BLR(用于定义Firebird程序、触发器等) 用户应用程序应仅使用子类型0和1
如果无法将子类型更改为0,则可以尝试将数据转换为原始字节到客户端应用程序。什么是blob子类型?如果是“1”(文本),则将其更改为子类型0-二进制数据。始终使用子类型0(二进制数据)来存储图像、视频、音频等。Blob子类型是文本。我无法更改数据库中的这些设置。