文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>postgresql:如何上传二进制数据

postgresql:如何上传二进制数据

时间:2009-10-14  来源:trainee

PostgreSQL的二进制数据类型为bytea,可最多保存2G的数据。在ADO、ODBC等接口,可通过带参数化的插入SQL语句上传二进制。   然而在某些接口、SQL语句无法进行参数绑定,或者某些语言没有二进制的类型,或者接口的不兼容等原因,常无法上传二进制数据。   碰到这种情况下,必须在客户端将二进制转化为一定规则的字符序列,然后插入语句时,来个显示转换 cast('字符序列' as bytea).   二进制转化为字符序列的规则: 分析每个字节,当其ASCII值在0到31,127到255,或为39、92,请将这字节转化为3位的八进制字符串,前面加上2个反斜杠,如chr(39)表示为\\047. 其他ascii值为可显示字符,不变,当然你也可全部转化为八进制,但这样整个字符串太长,浪费空间。   如二进制序列 chr(0)+'a'+'b'+chr(233)+chr(25)+'c'转化为字符序列为: \\000ab\\351\\031c   上传的时候再来个显示转换,如 insert into table1 (aa) values (cast('\\000ab\\351\\031c' as bytea))   如果二进制数据太大,可分次上传,用||连接符连接起来,如: insert into table1 (id,aa) values (1,cast('序列1' as bytea)) update table1 set aa=aa||cast('序列2' as bytea) where id=1 ...    
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载