Leer Blob de Oracle 8 con Delphi 5

Sandra
17 de Octubre del 2003
Hola a todos,

Mi pregunta es ¿como puedo acceder para leer un campo Blob de oracle 8 con delphi?
He probado con un componente TQuery con un sql=\'Select * from tabla\' y me da el siguiente error al activar la consulta:
\'Invalid Field Type\'

¿Alguien sabe como hacerlo?

okumarc
17 de Octubre del 2003
Hola Sandra y a todos.
Yo tambi茅n estoy en este punto. He conseguido cargar los campos Blob a tablas Oracle 8i mediante updates con valores pasados por paramtero, de esta forma:

procedure TForm1.Button1Click(Sender: TObject);
var
Query1:TQuery;
begin
Query1:=TQuery.Create(nil);
Query1.SQL.Clear;
Query1.SQL.Add('INSERT INTO <<TABLA>> (<<CAMPO_CLAVE>>) VALUES (1)');
Query1.ExecSQL;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('UPDATE <<TABLA>> ');
Query1.SQL.Add('SET <<CAMPO_BLOB>> = :_CampoBlob');
Query1.SQL.Add('WHERE <<CAMPO_CLAVE>> = ' + IntToStr(i));
try
Query1.ParamByName('_CampoBlob').LoadFromFile('C:Imagen.JPG',ftBlob);
Query1.ExecSQL;
except
on e:exception do begin
ShowMessage(e.message);
end;
end;
end;

Pero ahora, intento acceder a esta tabla de todas las formas posibles y siempre sale el mismo error "Invalid field type" al hacer el open.

Me uno a Sandra en la busqueda de la respuesa.
Gracias.

okumarc
17 de Octubre del 2003
Ya he encontrado la soluci贸n. Es tan sencillo como en vez de utilizar un Alias BDE para conectarse a la base de datos, se debe utilizar un alias ODBC. Si no hay mas opci贸n que conectarse con un alias BDE, existe otra posibilidad, que es la de cambiar la Dll de Oralce, y si tenemos la SQLOra32.dll, cambiarla por la SQLOra8.dll.

Hasta luego.