【问题标题】:ORA-01465: invalid hex number in oracle while using BLOBORA-01465: 使用 BLOB 时,oracle 中的十六进制数无效
【发布时间】:2016-02-15 23:48:19
【问题描述】:

我正在用 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:无效的十六进制数。 如果有人可以帮助我解决错误?

【问题讨论】:

    标签: oracle blob


    【解决方案1】:

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

    但如果你打算将字段用于字符串,为什么不将它们保存为 CLOB?

    下面是 2 个带有 BLOB 和 CLOB 字段的示例

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 2016-01-07
      相关资源
      最近更新 更多