Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Oracle
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-10-2004
Avatar de Tino
Tino Tino is offline
Miembro
 
Registrado: may 2004
Posts: 40
Poder: 0
Tino Va por buen camino
TStoredProcedure y Oracle CLOBs

Hola. A ver si alguién se ha encontrado en la misma situación que yo y sabe darme algún consejo. Tengo una función PLSQL en el server que retorna un CLOB construido dinámicamente. Esta función es llamada por mi programita en delphi, mediante un TStoredProcedure. Va todo perfecto, salvo que no consigo que me retorne el CLOB. El código es:

Código Delphi [-]
 
function TDM.InstanciarDocumento(aParams: String; var aXML, Msg: String): Boolean;
// SPInstanciaXML es un TStoredProcedure
begin
  with SPInstanciaXML do
  try
     ParamByName('P_PARAM_XML').AsString := aParams;
     ExecProc();
     Result := ParamByName('RESULT').AsBoolean;
     if Result then
         aXML := ParamByName('P_DOC_XML').AsBlob
     else
         Msg := ParamByName('P_ERROR').AsString;
  finally
      Close;
  end; 
end;


La funcion SQL la tengo definida así:
Código:
 
FUNCTION Fu_Instancia_XML(
			 p_param_xml IN VARCHAR2, 
			 p_doc_xml OUT NOCOPY CLOB, 
			 p_error OUT VARCHAR2) RETURN BOOLEAN; 
La función plsql anterior me va de maravilla... si la ejecuto en un entorno plsql, pero desde Delphi no consigo hacer que funcione.

De hecho, tengo 2 ó 3 funciones por el estilo y ninguna de ellas me funciona. El resto de funciones, que no retornan un CLOB, me van sin problemas.

¿Estoy inicializando mal el TStoredProcedure? Según tengo entendido, un CLOB de Oracle es compatible con el tipo string de Delphi. ¿no es así?

Uso D7 y Oracle 8i pero también me pasa con la 9i.

Agradecería cualquier comentario.
__________________
El hombre que no lee no tiene ninguna ventaja sobre el que no sabe leer.

Para hacer una buena exposición hay que escribir más de lo que se va a decir, y luego decir más de lo que se escribió.

Última edición por Tino fecha: 11-10-2004 a las 21:22:01.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:11:29.


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
Copyright 1996-2007 Club Delphi