powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Oracle+Interbase
1 сообщений из 1, страница 1 из 1
Oracle+Interbase
    #32663372
Leha_LLL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно из blob поля из Interbase закачать в Oracle

делаю так с пмощью Delphi:

Пишу так:
----
procedure TForm1.Button2Click(Sender: TObject);
var
BS2: TBlobStream;
BS1:TIBBlobStream;
begin
OracleDataSet2.active;
BS1:= TIBBlobStream(IBTable1.CreateBlobStream(IBTable1.FieldByName('JPG'), bmRead));
try
OracleDataSet2.Edit;
BS2 := TBlobStream.Create(OracleDataSet2JPG,bmReadWrite);
try
BS2.CopyFrom(BS1,BS1.Size);
finally
BS2.Free;
end;
finally
BS1.Free;
end;
OracleDataSet2.Post;
end;

----

Oracle dataset:cannot perfom this operaition on a closed dataset.

чтобы избавиться от этой ошибки комментарю OracleDataSet2.Edit;

Ему это нравиться, он компилит. Но теперь ему не нравится
BS2 := TBlobStream.Create(OracleDataSet2JPG,bmReadWrite);

я делаю так:
вместо этой строчки пишу:

BS2 := OracleDataSet2.CreateBlobStream(OracleDataSet2.FieldByName('FOTO'), bmReadWrite); (соответсвенно в var BS2: TStream;)

ему все нравиться, но при выполнении пишет туже ошибку error strem write/

в итоге получился такой код:
procedure TForm1.Button2Click(Sender: TObject);
var
BS2: TStream;
BS1:TIBBlobStream;
begin
OracleDataSet2.active;
BS1:= TIBBlobStream(IBTable1.CreateBlobStream(IBTable1.FieldByName('JPG'), bmRead));
// BS1 := TBlobStream.Create(IBTable1JPG,bmRead);
try
// OracleDataSet2.Edit;
BS2 := OracleDataSet2.CreateBlobStream(OracleDataSet2.FieldByName('JPG'), bmReadWrite);
// BS2 := TBlobStream.Create(OracleDataSet2JPG,bmReadWrite);
try
BS2.CopyFrom(BS1,BS1.Size);
finally
BS2.Free;
end;
finally
BS1.Free;
end;
OracleDataSet2.Post;
end;

как-то странно...
может тут какую-нить конвертацию типов сделать? ну или не знаю чего...


но на строчке BS2.CopyFrom(BS1,BS1.Size);

пишет error stream write.

Может есть какие-то особенности в blob-полях Interbase?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Oracle+Interbase
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]