Coldfusion / Oracle - 插入的BLOB值正在返回一个空字符串

时间:2013-11-12 15:07:28

标签: oracle coldfusion oracle11g blob coldfusion-8

使用coldfusion 8,从表中选择的blob值显示为“[empty string]”。

我的cfml有错误还是有其他问题?

我很感激帮助!

ColdFusion服务器 - 8,0,1,195765

Oracle数据库11g - 11.2.0.3.0 - 64位

BLOB测试 -

<cfset idval="1">
<cfset val="hello world">
<cfset encoding="utf-8">

<!---STRING CONVERSION TO BINARY DATA--->
<cfset form.binVal = CharsetDecode(val,encoding)>
<cfdump var="#form.binVal#">

<!---CLEAR TABLE--->
<cfquery name="delete" datasource="DATA1">
DELETE FROM DATA1.TEST_BLOB
</cfquery>

<!---INSERT--->
<cfquery name="insert" datasource="DATA1">
INSERT INTO DATA1.TEST_BLOB 
VALUES(<cfqueryparam value="#idval#">,
       <cfqueryparam cfsqltype="CF_SQL_BLOB" value="#form.binVal#">
      )
</cfquery>

<!---SELECT AND DISPLAY DATA--->
<cfquery name="select" datasource="DATA1">
SELECT *
FROM DATA1.TEST_BLOB
</cfquery>

<cfdump var="#select#">

1 个答案:

答案 0 :(得分:0)

获得结果需要utl_raw.cast_to_Varchar2()

<cfquery name="select" datasource="DATA1">
  SELECT UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(*name_of_field*)) 
  FROM   DATA1.TEST_BLOB
</cfquery>

在不投射的情况下返回数据

转到DSN的CF管理员设置,有启用BLOB数据的高级设置