none
Erro quando vou fazer uma atualização no banco script time out RRS feed

  • Pergunta

  • Olá amigos!

     

    Estou com o seguinte problema, estou fazendo uma consulta nas tabelas do banco de dados e com esta consulta estou atualizando alguns campos quando o usuário clica em um botão.

    O problema é que quando chega na parte da atualização, ou seja, executar o comando SQL no banco o mesmo trava dando assim script time out

    Quero adiantar que já aumentei o time out, porém o comando sql não é executado, bem! o comando é simples eu o executei dentro do sql sever e o mesmo rodou sem erros

    Sou novo em aplicações asp e devo estar fazendo alguma coisa de errado. Preciso da ajuda de vocês para eu poder deslanchar em meu projeto .

     

    Como vocês podem ver no código abaixo eu estou efetuando um teste com um item só e mesmo assim está dando time out

     

    private sub AtualizaNotificacao()

     

    SSQL = "EXEC SP_NOTIFICAO_SAC"

    'Response.Write(SSQL)

    'Response.End()

    'ssql = "SELECT 1"

    SET rs = DBConn.Execute(SSQL)

    do while not rs.EOF

    SQL = ""

    HR = rs("24HR")

    HR1 = rs("48HR")

    HR2 = rs("72HR")

    Ficha = rs("FICHA")

    if (HR >=24 and HR1 = 0) THEN

    horas ="24"

    ssql = "UPDATE ATENDIMENTO SET EMAIL_HORA_1 = GETDATE() WHERE FICHA = "&  Ficha &" AND YEAR(DATA_ATEND) >= YEAR (GETDATE())"

    'SSQL = "EXEC SP_NOTIFICACAO_SAC_ATUALIZA '"& Ficha &"', 1"

    end if

    '48 horas

    if (HR1 >=24 and HR2 = 0) THEN

    horas ="48"

    ssql = "UPDATE ATENDIMENTO SET EMAIL_HORA_2 = GETDATE() WHERE FICHA = "&  Ficha &" AND YEAR(DATA_ATEND) >= YEAR (GETDATE())"

    'SSQL = "EXEC SP_NOTIFICACAO_SAC_ATUALIZA '"& Ficha &"', 2"

    END IF

    '72 horas

    if (HR2 >= 24)then

    horas ="72"

    ssql = "UPDATE ATENDIMENTO SET EMAIL_HORA_3 = GETDATE() WHERE FICHA = "&  Ficha &" AND YEAR(DATA_ATEND) >= YEAR (GETDATE())"

    'SSQL = "EXEC SP_NOTIFICACAO_SAC_ATUALIZA '"& Ficha &"', 3"

    END IF

    Response.Write(SSQL)

    DBConn.Execute(SSQL)

    response.End()

    rs.movenext

    loop

     

    end sub




    Espero que vocês possam me ajdar

    Abraços 

    Rafael

    Estou usando SQL SERVER 2008

     

    sábado, 4 de dezembro de 2010 17:01

Respostas

  • Olá a todos!

     

    Estava na correria com estes códigos e não consegui entrar para ver as soluções no forum.

    Bem!

    Eu encontrei uma solução 

    na verdade eu usei a consulta na primeira procedure para fazer a alteração dos dados

     

    rs.Update

    rs("EMAIL_HORA_3 ") = GETDATE()

    rs.update

     

    Obrigado a todos que participaram desta quetão

    segunda-feira, 13 de dezembro de 2010 17:40

Todas as Respostas

  • Rafalima

    Verifique as permissões para acesso ao arquivo .mdf. Você deve estar usando um arquivo MDF atachado em sua aplicação.

    Caso sim, dê permissão de acesso a esse arquivo para cada usuário.

    No banco, se for tipo Segurança Integrada ao Windows inclua esses usuário no Users do banco

    Ou se for segurança apenas SQL, coloque usuario e senha que vc criou no banco na string de conexão.

    Tanto para Segurança integrada ao windows como para segurança apenas SQL, as strings de conexão são diferentes(aquelas que ficam em web.config)

    Verifique também as instancias do SQL 2008, deve ter duas instancias instaladas e você deve estar apontando para a errada.

    Esses problemas referentes ao SQL 2008 é de dar cabelo em ovo. Mas com paciencia chegamos lá.. rsrsrs

    Creio que resolva.

    Att.


    Anderson
    Cuiabá-MT
    domingo, 5 de dezembro de 2010 21:10
  • Oi! Anderson,

     

    Obrigado pela sua participação eu estou utilizando a mesma instãncia da store procedure a procedure roda mas, a atualização "update" não, não sei realmente o que está ocorrendo estou trabalhando com asp clássico e não tenho experiência nele, apesar de ter trabalhado com asp.net, achei que ia ser facil, mas, este tipos de erros estão de arrancar cabelo perdi um dia em cima desse código que parece simples estou com medo dos complexos.

    Se você puder me ajudar eu agradeço

    Muito obrigado

    Abraços Rafael

     

    segunda-feira, 6 de dezembro de 2010 10:32
  • Rafalima

    Você verificou as permissões como eu disse? De repende o usuário do e no banco não tem permissão para atualização (UPDATE)

    Verifique se é possiveç excluir (DELETE) o mesmo registro.

    Att.l


    Anderson
    Cuiabá-MT
    terça-feira, 7 de dezembro de 2010 15:38
  • Rafael não sei se já resolveu, mas parece ser algum problema no loop, se fosse você criaria uma proceduria para executar estas instruções creio que daria uma melhora na performance, porém tente testar o loop sem a execução do update para verificar se o time out realmente é causado pelo update ou simplesmente pelo próprio loop.

     

    Abraço

    Estevam


    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    quinta-feira, 9 de dezembro de 2010 11:16
  • Olá a todos!

     

    Estava na correria com estes códigos e não consegui entrar para ver as soluções no forum.

    Bem!

    Eu encontrei uma solução 

    na verdade eu usei a consulta na primeira procedure para fazer a alteração dos dados

     

    rs.Update

    rs("EMAIL_HORA_3 ") = GETDATE()

    rs.update

     

    Obrigado a todos que participaram desta quetão

    segunda-feira, 13 de dezembro de 2010 17:40