Как записать blob в oracle с помощью хранимой процедуры?

iigor

Новичок
Пытаюсь записать блоб поле(рисунок) в базу данных ничего не выходит, вот код:
PHP:
$id=1;
$Image='blob data';
$s = OCIParse($conn, "BEGIN PDA.SETFOTO(:id,:foto); END;");
OCIBindByName($s, ':id', $id);
$blob = OCINewDescriptor($conn,OCI_D_LOB);
OCIBindByName($s, ':foto', $blob, -1, OCI_B_BLOB);
			
OCIExecute($s, OCI_DEFAULT);
$blob->save($Image);
ocicommit($conn);
$blob->close();
В интернете встречал как просто используя insert там в конце инсерта дописывают "returning foto into :foto" если я это вставлю то у меня ошибка в OCIParse будет а сейчас выдаёт:

Warning: ociexecute() [function.ociexecute]: ORA-22275: задан неверный указатель LOB ORA-06512 ...
Warning: OCI-Lob::save() [oci-lob.save]: OCI_INVALID_HANDLE ...
 

iigor

Новичок
Вот ещё один костыль в php код сделал: передаю блоб как строку в base 64 внутри хранимки расшифровываю. Вопрос остаётся открытым...
 
Сверху