Com base em uma pergunta semelhante:“A operação não é permitida quando o objeto é fechado” ao executar o procedimento armazenado recomendei no comentário:
O motivo mais comum de
Operation is not allowed when the object is closed
é que esse procedimento armazenado não contém SET NOCOUNT ON
comando, que impede que conjuntos de resultados extras interfiram com SELECT
declarações. Para obter mais informações, consulte:SET NOCOUNT (Transact-SQL)