Конференция "Базы" » Сделать запись в поле CLOB [D7, 10]
 
  • Atum © (04.05.11 13:20) [0]
    Доброго здоровья коллеги.

    Подскажите пожалуйста как правильно из приложения на 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]
    какими компонентами пользуешься ?
  • Atum © (04.05.11 13:42) [2]
    >Игорь Шевченко ©   (04.05.11 13:23) [1]

    >какими компонентами пользуешься ?

    UniDAC 3.70.0.17 for Delphi7
  • Медвежонок Пятачок © (04.05.11 13:46) [3]
    а почему просто не присвоить параметру значение через AsString?
  • Игорь Шевченко © (04.05.11 13:48) [4]

    > ParamByName('fсl').LoadFromStream(MemStream, ftBlob);


    в MemStream точно все хорошо ?
    тип параметра fcl точно ftMemo ?
  • Atum © (04.05.11 14:04) [5]
    >Медвежонок Пятачок ©   (04.05.11 13:46) [3]

    >а почему просто не присвоить параметру значение через AsString?

    Потому что количество символов больше чем себе может позволить строка

    >Игорь Шевченко ©   (04.05.11 13:48) [4]

    C MemStream  все хорошо.
    Поправил на ftMemo и в поле CLOB появился удобочитаемый текст
  • Медвежонок Пятачок © (04.05.11 14:13) [6]
    Потому что количество символов больше чем себе может позволить строка

    Да неужели?
  • Игорь Шевченко © (04.05.11 14:20) [7]

    > Да неужели?


    ну да
  • Игорь Шевченко © (04.05.11 14:24) [8]

    > ну да


    небольшая поправка - все зависит от компонентов доступа к СУБД
  • Atum © (04.05.11 14:24) [9]
    > Медвежонок Пятачок ©   (04.05.11 14:13) [6]

    16 тысяч символов не осилил

    Все получилось. Всем огромное спасибо.))))
 
Конференция "Базы" » Сделать запись в поле CLOB [D7, 10]
Есть новые Нет новых   [134431   +15][b:0][p:0]