-
Доброго здоровья коллеги.
Подскажите пожалуйста как правильно из приложения на Delphi записать данные в поле с типом CLOB. Сама запись - это XML сформированный в TMemo.
Получается вот такой текст:
'<description>
<id>44</id>
<id>62</id>
......................
</description>'
В программе сохранение делаю вот так:
SQL.Add('insert into tmpxml (xml_сlob) values (:fсl)');
ParamByName('fсl').LoadFromStream(MemStream, ftBlob);
ExecSQL;
но в поле получается куча цифр вида - 273C6465736372697074696F6E3E0D0A2020203C69643E33373C2F69643E0D0A20........
Цель вообще стоит получить в итоге значение с типом XMLType путем преобразования. Но значение в строке не хочет преобразовываться в целевой тип и все тут.
-
какими компонентами пользуешься ?
-
>Игорь Шевченко © (04.05.11 13:23) [1]
>какими компонентами пользуешься ?
UniDAC 3.70.0.17 for Delphi7
-
а почему просто не присвоить параметру значение через AsString?
-
> ParamByName('fсl').LoadFromStream(MemStream, ftBlob);
в MemStream точно все хорошо ?
тип параметра fcl точно ftMemo ?
-
>Медвежонок Пятачок © (04.05.11 13:46) [3]
>а почему просто не присвоить параметру значение через AsString?
Потому что количество символов больше чем себе может позволить строка
>Игорь Шевченко © (04.05.11 13:48) [4]
C MemStream все хорошо.
Поправил на ftMemo и в поле CLOB появился удобочитаемый текст
-
Потому что количество символов больше чем себе может позволить строка
Да неужели?
-
> Да неужели?
ну да
-
> ну да
небольшая поправка - все зависит от компонентов доступа к СУБД
-
> Медвежонок Пятачок © (04.05.11 14:13) [6]
16 тысяч символов не осилил
Все получилось. Всем огромное спасибо.))))