2

使用 Coldfusion 8,从表中选择的 blob 值显示为“[空字符串]”。

我的 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#">
4

1 回答 1

0

需要Autl_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 数据的高级设置

于 2013-11-12T15:20:28.780 回答