Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Filipe Poiato

ASP x Procedure

Recommended Posts

Eu estou com um problema para rodar uma procedure em uma página asp. O erro é:

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

ODBC driver does not support the requested properties.

/estatistica/int/estat_int_intxdia2_snovo.asp, line 39

 

Seguindo algumas dicas de um amigo e algumas deste forum eu estou chamando a minha procedure assim:

 

Set conexao = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
Set recordsetX = Server.CreateObject("ADODB.Recordset")
conexao.Open "Meu_dsn","Usuário","Senha"
cmd.ActiveConnection = conexao
cmd.CommandText = "usuario_procedure.nome_procedure"
cmd.CommandType = 4'adCmdStoredProc

Set param1 = Server.CreateObject("ADODB.Parameter")
param1.Name = "&vdt_i&" 'data de inicio
param1.Type = 200'adChar (não achei o código de data)
param1.Size = 10
param1.Direction = 1'adParamInput
cmd.Parameters.Append param1

Set param2 = Server.CreateObject("ADODB.Parameter")
param2.Name = "&vdt_f&" 'data de termino
param2.Type = 200'adChar (não achei o código de data)
param2.Size = 10
param2.Direction = 1'adParamInput
cmd.Parameters.Append param2

Set recordsetX = cmd.Execute

Sendo a tal linha 39 esta última.

Se alguém puder ajudar obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente como este exemplo:

set objCommand = Server.CreateObject("ADODB.Command")

objCommand.ActiveConnection = v_conexao
objCommand.CommandText = "soma_prc"
objCommand.CommandType = adCmdStoredProc
 
'*** Carregando parâmetros de entrada
 Set objParam = objCommand.CreateParameter("p1", adNumeric, adParamInput, 15, Request("valor1"))
objCommand.Parameters.Append objParam
 
Set objParam = objCommand.CreateParameter("p1", adNumeric, adParamInput, 15, Request("valor2"))
objCommand.Parameters.Append objParam
 
 '*** Configurando variável que receberá o retorno
Set objParam = objCommand.CreateParameter("nRet", adNumeric, adParamOutput)
objCommand.Parameters.Append objParam
 
'*** Executando a stored procedure
objCommand.Execute
 
Response.Write "O resultado da stored procedure é " & objCommand("nRet")

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já havia visto este exemplo, mas neste caso eu preciso declarar variáveis para retorno, e a minha procedure me retorna um número diferente de resultados dependendo do periodo da pesquisa.

Ela funciona mais ou menos assim: Eu informo duas datas e ela me retorna o número de pacientes internados em cada clinica por dia dentro deste periodo. Então não há como eu saber o número de variáveis que ele irá usar por não saber o tamanho do periodo digitado pelo usuário. Exp. Se o usuário digitar um periodo de apenas um dia eu terei 6 variáveis (pois temos 6 clinicas diferentes) porém se ele digitar um periodo de um ano, eu terei 2190 variáveis (365 dias vezes 6 clinicas).

Mas obrigado pela dica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.