Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Error Invalid blob handle in record buffer??? sin usar "Blobs to cache" (https://www.clubdelphi.com/foros/showthread.php?t=33475)

varuhs 07-07-2006 19:17:04

Error Invalid blob handle in record buffer??? sin usar "Blobs to cache"
 
Estimados

Trabajo con Oracle 8i y Delphi 6.

Se me produce el error al realizar una consulta (TQuery) a una tabla de oracle con aprox. 40.000 registros...

Quiero consultar si alguin sabe "Invalid blob handle in record buffer", esto se soluciona con cambiar el parametro en el BDE de "Blobs to cache"

Mi duda es si existe alguna forma distinta de solucionar el problema, ya que al tener 200 estaciones de trabajo y cambiar el parametro en cada estacion es bastante trabajo.

Saludos y gracias por su ayuda

TheRafa 04-10-2006 11:57:11

El mismo problema
 
Tengo el mismo problema. Si has encontrado la solucion, por favor, enviame la solución.... sino seguiremos buscando.
Saludos

rafita 04-10-2006 12:25:00

Hola, no se si te sé responder, pero te doy una idea: Pon las características de la conexión en el programa, así no tienes que definirlas en el BDE.
Código:

if DataBase1.Connected then DataBase1.Connected:=False;
  DataBase1.Directory:=UbicacionBaseDatos;
  Database1.Params.Clear;
  Database1.Params.Append('SERVER NAME='+UbicacionBaseDatos);
  Database1.Params.Append('USER NAME=SYSDBA');
  Database1.Params.Append('OPEN MODE=READ/WRITE');
  Database1.Params.Append('SCHEMA CACHE SIZE=8');
  Database1.Params.Append('LANGDRIVER=');
  Database1.Params.Append('SQLQRYMODE=');
  Database1.Params.Append('SQLPASSTHRU MODE=SHARED AUTOCOMMIT');
  Database1.Params.Append('SCHEMA CACHE TIME=-1');
  Database1.Params.Append('MAX ROWS=-1');
  Database1.Params.Append('BATCH COUNT=200');
  Database1.Params.Append('ENABLE SCHEMA CACHE=FALSE');
  Database1.Params.Append('SCHEMA CACHE DIR=');
  Database1.Params.Append('ENABLE BCD=TRUE');
  Database1.Params.Append('BLOBS TO CACHE=200');
  Database1.Params.Append('BLOB SIZE=32');
  Database1.Params.Append('WAIT ON LOCKS=FALSE');
  Database1.Params.Append('COMMIT RETAIN=FALSE');
  Database1.Params.Append('ROLE NAME=');
  Database1.Params.Append('PASSWORD=miclave');
  DataBase1.DataBaseName:='Registro';
  DataBase1.Connected:=True;


varuhs 04-10-2006 14:13:11

correcto
 
Muy buena la respuesta al respecto. con lo que dices se solucionan los problemas... pero tengo que destacar que esto ayuda a evitar que el error se produzca pero no a solucionarlo como mencionan en la pagina de Borland.

gracias.

gaps2k 22-01-2007 21:19:53

Como Prevenirlo
 
Me Imagino Que Este Es Un Tema Un Poco Viejo, Pero A Mi Me Sirvio De Mucha Ayuda. Ya Que Pude Parchar La Aplicación Mientras Encontraba La Solución Permanente.

En Mi Caso Esto Se Daba Cuando Realizaba Un Select Con Demasiada Información, Como Incluir Campos Memo O Muchos Varchars, La Solucion Realizar Select Mas Pequeños.

En Mi Caso Con Tomar Un Substring Del Campo Que Me Daba Problemas Quedo Solucionado Y Pude Restaurar Las Opciones Del Bde.


La franja horaria es GMT +2. Ahora son las 22:54:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi