, как вставить данные двоичные объекты в оракул х из Дельф 7 (Ado) компонентыДельй оракул блобы
ответ
Проверку этих образцы с использованием TAdoQuery
компонента.
загрузки данных непосредственно из файла
ADOQuery1.Parameters.AddParameter.Name:='Param1';
ADOQuery1.Parameters.ParamByName('Param1').LoadFromFile('yourfilename',ftBlob);
ADOQuery1.SQL.Add('INSERT INTO TableName (FieldName) VALUES (:Param1)');
ADoQuery1.ExecSQL;
с использованием потока, чтобы загрузить данные
ADOQuery1.Parameters.AddParameter.Name:='Param1';
ADOQuery1.Parameters.ParamByName('Param1').LoadFromStream(AStream,ftBlob);
ADOQuery1.SQL.Add('INSERT INTO TableName (FieldName) VALUES (:Param1)');
ADoQuery1.ExecSQL;
вы должны быть в курсе, когда Microsoft Oracle oledb driver
не совместим с blob fields
попробуйте вместо использования Oracle OLEDB provider
.
Как последний совет, если вы можете, попробуйте использовать другие компоненты для подключения к ORACLE как DBEXPRESS, ANYDAC
или ODAC
компонентов
Имейте в виду, что Oracle имеет особый способ обработки больших объектов. Он использует «Локаторы больших объектов» (своего рода ручки) для выполнения операций с большими объектами. INSERT возвращает локатор LOB, который затем используется, например, для заполнения LOB. Эта операция может выполняться «за кулисами» драйвером/библиотекой, используемой для доступа к Oracle, или может потребовать некоторого кодирования.
спасибо. Ваш совет и все – user578332