当前位置: 首页 > 知识库问答 >
问题:

ORA-00932:不一致的数据类型:预期数字为二进制

鱼宜
2023-03-14

我在ubuntu 14.04LTS上使用oracle 11g。我有一个名为成员的表,我由以下sql创建,

 create table members(
    mem_id int,
    issue_date date,
    expire_date date,
    book_count int,
    fine float(2),
    mem_pic bfile,
    CONSTRAINT mem_const PRIMARY KEY (mem_id)
 );

后来我更新了这个表格,

alter table members add( mem_pic bfile ) ;

现在,当我运行“DESC members”时,它会显示结果,

Name                     Null?    Type
 ----------------------------------------- -------- ----------------------------
 MEM_ID                  NOT NULL NUMBER(38)
 ISSUE_DATE                       DATE
 EXPIRE_DATE                      DATE
 BOOK_COUNT                       NUMBER(38)
 FINE                             FLOAT(2)
 MEM_PIC                          BINARY FILE LOB

最后,我运行了这样的插入sql,

SQL> insert into members( MEM_id ,MEM_PIC ) values(4,utl_raw.cast_to_raw('/home/pictures/images.jpeg')); 

它显示了错误,

第1行错误:ORA-00932:数据类型不一致:预期数字为二进制

有人能帮我解决问题吗?而且我也不确定在这个过程中我是否可以添加图像或路径的二进制文件。有人能帮助我如何使用以下路径中的图像更新我的表吗?

共有1个答案

桓修能
2023-03-14

utl_原始。cast\u to_raw返回原始值

(http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/u_raw.htm#BABJHEGF)

当您需要一个文件时:http://docs.oracle.com/cd/B10501_01/appdev.920/a96591/adl12bfl.htm#79488

 类似资料: