Ho una stored procedure in sql server che mi crea una stringa di sei caratteri
non riesco a recuperare il valore della stringa creata dalla mia pagina asp.

questo è il codice della stored

CREATE PROC Generatestringa (
@len INT = 6,
@randomstringa CHAR(6) OUTPUT
)
AS


BEGIN
DECLARE @stringa VARCHAR(6), @type TINYINT, @source VARCHAR(50)
SET @source = '0123456789ABCDEFGHILMNOPQRSTUVZ' -- caratteri utilizzati per la creazione
SET @stringa=''

DECLARE @lenghtSource AS TINYINT
SET @lenghtSource = LEN(@source) - 1

-- scelta del nuovo carattere da aggiungere alla stringa finale
WHILE ( @len > 0 )
BEGIN
SET @stringa = @stringa + SUBSTRING(@source, CONVERT(INT, ROUND(1 + (RAND() * (@lenghtSource)), 0)), 1)
SET @len = @len - 1
END

SET @randomstringa = @stringa
END
GO


sto cercando di recuperare la mia stringa in questo modo

sql = "EXECUTE Generatestringa"
set r = conn.Execute(sql)
response.write r("randomstringa")


l'errore che mi ritorna è il seguente
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]La procedura 'Generatestringa' richiede il parametro '@randomstringa', che non è stato specificato.

non riesco a capire come fare
Grazie mille
Fiorella