ORA-01465:使用BLOB时oracle中的十六进制数无效

时间:2015-11-14 13:34:40

标签: oracle blob

我正在oracle 11g中设计一个数据库。我设计了一个带字段的表,

CUST_ID, NUMBER(5) //this is a foreign key
Review, BLOB //to store big strings 
Date, SYSDATE

现在当我试图在表格中插入数据时 -

insert into "ReviewTable" values ( 3, 'hello, this is the first review',SYSDATE)

它给出[Err] ORA-01465:无效的十六进制数。 如果有人可以帮我解决错误?

1 个答案:

答案 0 :(得分:13)

您将字符串转换为BLOB,您可以通过包utl_raw.cast_to_raw执行此操作,或通过to_clob('mystring')将varchar转换为clob,然后在代码中使用过程DBMS_LOB.convertToBlob

但是如果你打算使用字段作为字符串,为什么不把它们保存为CLOB?

以下是BLOB和CLOB字段

的2个示例

<强> BLOB

create table ReviewTable( CUST_ID NUMBER(5)
,Review  BLOB  
,Dt Date);

insert into ReviewTable values ( 3, utl_raw.cast_to_raw('hello, this is the first review'),SYSDATE);

<强> CLOB

create table ReviewTable2( CUST_ID NUMBER(5)
,Review  CLOB  
,Dt Date);

insert into ReviewTable2 values ( 3, 'hello, this is the first review',SYSDATE);