Ver Mensaje Individual
  #3  
Antiguo 01-12-2005
gcaffe gcaffe is offline
Miembro
 
Registrado: oct 2004
Posts: 53
Reputación: 20
gcaffe Va por buen camino
Hola:
Gracias por tu sugerencia Delphi.com.ar, esto es lo que he realizado:

1) He modificado el código delphi que ejecuta el TADOStoreProcedure que actualiza la Tabla, quedando así:

Código Delphi [-]
 procedure TfrmInformes.frmBtnsbtnPostClick(Sender: TObject);
 var
   AStream: TStream;
 begin
   with DM.SProc do begin
      Active := False;
      ProcedureName := 'InformesMOD;1';
      Parameters.Refresh;
      Parameters.FindParam('@IDInforme').Value := DM.InformesVERIDInforme.Value;
 
      AStream := TMemoryStream.Create;
      try
         edRMemo.Lines.SaveToStream(AStream);
        Parameters.FindParam('@Texto').LoadFromStream(AStream, ftBlob); //    .Value := edRMemo.Lines;
      finally
         AStream.Free;
      end;
      if not Prepared then Prepared := True;
      ExecProc;
   end;
 end;

Nota: He eliminado lineas para que sea mas claro

2) Tambien he modificado el procedimento del MS SQL Server 2000, según las sugerencias técnicas para la Administración de datos nText, Text e Image, quedando finalmente así:

Código SQL [-]
 CREATE PROCEDURE InformesMOD
             @IDInforme    int,
             @Letrado    Char(4),
             @Resumen    nChar(80),
             @Adjuntos    Char(200),
             @FEnvio    SmallDateTime,
             @Texto     ntext,
             @Proxima    smalldatetime,
             @ARealizar    nChar(100)
                 
 AS
 
 BEGIN TRAN
 DECLARE    @PtrVal binary(16)
 
     UPDATE Informes
     SET     Letrado = @Letrado,
         Resumen = @Resumen,
                 Adjuntos = @Adjuntos,
                 FechaEnvio = @FEnvio,    
                ProximaAccion = @Proxima,
         Texto = @Texto,
         ParaHacer = @ARealizar
     WHERE IDInforme = @IDInforme
 
     EXECUTE sp_dboption 'Informes', 'select into/bulkcopy', 'TRUE'
 
     SELECT @PtrVal = TEXTPTR(Texto)
     FROM Informes
     WHERE IDInforme = @IDInforme
     UPDATETEXT Informes.Texto @PtrVal 0 NULL @Texto
 
     EXECUTE sp_dboption 'Informes', 'select into/bulkcopy', 'FALSE'
 
 IF @@ERROR = 0
     COMMIT TRAN
 ELSE
     ROLLBACK TRAN
 GO

Nota: Este procedimiento está completo, se pasan todos los parámetros.

3) Al ejecutarlo me da el siguiente error:

"Espacio de almacenamiento insuficiente para completar la operación"

Y hasta aquí he llegado y no sé como seguir, agradecería cualquier sugerencia.

Muchas gracias.
Responder Con Cita