我有一个systesttab
包含几列的表。其中一列是 CLOB 类型,它应该包含一个 base64 编码图像的字符串。
CREATE TABLE systesttab(
...
f_picture CLOB DEFAULT ' ' NOT NULL,
...
)
但是,当我尝试使用大的 base64 字符串(超过 100k 个字符)更新表时,它会失败并且我的 python 应用程序崩溃(即使放入 try...except 块)。
UPDATE systesttab SET f_picture = 'data:image/png;base64,iVBORw0KGgoASU ...'
我什至尝试将值转换为 clob:
UPDATE systesttab SET f_picture = TO_CLOB('data:image/png;base64,iVBORw0KGgoASU ...')
但我得到的只是这个错误:
Input string too long, limit 8192
现在,我想这试图告诉我一些关于块大小的信息,但这对我并没有真正的帮助。
如何使用单个语句更新表?
我必须以不同的方式声明表的创建语句吗?
如果有一种方法可以在单个语句中完成此操作,那么在更新同一个表上的多个列时它也应该起作用。
环境:python 3.4 & pyodbc