2013-11-12 5 views
2

Используя coldfusion 8, значения blob, выбранные из таблицы, отображаются как «[пустая строка]».Coldfusion/Oracle - Введенное значение BLOB возвращает пустую строку

Есть ошибки в моем cfml или есть еще одна проблема?

Я ценю помощь!

ColdFusion Сервер - 8,0,1,195765

Oracle Database 11g - 11.2.0.3.0 - 64bit

тест 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#"> 
+0

При запросе таблицы с помощью внешнего инструмента, у него есть какие-либо данные, в этом? Нам нужно указать, если 'insert' не удалось, или' select' failed –

+0

Спасибо, Джеймс, используя Oracle Sql Developer - «SELECT UTL_RAW.CAST_TO_VARCHAR2 (DBMS_LOB.SUBSTR (FILETEXT)) от DATA1.TEST_BLOB;", "привет мир ". Таким образом, вставка работает. – user2983696

+0

Есть ли что-нибудь? – tbone

ответ

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> 

ИЛИ

Чтобы вернуть данные без литья

Перейти к установке CF администратора для DSN, есть расширенные настройки, которые позволят данные BLOB

+0

Ах, почему-то я думал, что cfdump вернет двоичное значение, по крайней мере, спасибо Джеймсу! – user2983696

+0

Джеймс, что-то, что я забыл упомянуть, BLOB и CLOB были включены для источника данных, который не менял выход. Бросок определенно работает, хотя - – user2983696

+0

Возможно, вы захотите решить эту проблему в новом вопросе. Я видел, как CF возвращает исходный двоичный код на SQL Server. –

Смежные вопросы