Ante todo gracias por sus repuestas...
les explico..
Existe una DLL con una rutina de encriptacion y desencriptacion que por
ahora ha estado corriendo en el lado de la aplicacion cliente, pero ahora se
quiere que corra dentro de los procedimientos almacenados de SQL...
Ya lo hize como una funcion de SQL, pero, es demasiado lento, la media es
como de 6000 registros en 20 seg.
Pienso q el problema es por q la funcion crea y destruye el objeto OLE cada
vez que se procesa un registro, pero no se como puedo hacer ya sea para que
la definicion del objeto sea global, mejor dicho el objeto este creado
residente.
Este es el codigo de muestra..
CREATE FUNCTION DesEnc (@nota varchar(16))
RETURNS char(3) AS
BEGIN
DECLARE @object int, @hr int
DECLARE @vnota varchar(16)
EXEC @hr = sp_OACreate 'seriedll.serie', @object OUT
IF (@hr = 0)
BEGIN
EXEC @hr = sp_OAMethod @object, 'desencripta_v', @vnota out , @nota out
if (@hr <> 0)
set @vnota ='E1'
else
exec sp_OADestroy @object
end
else
Set @vnota ='E2'
Return @vnota
END
Leer las respuestas