Ir para conteúdo
Fórum Script Brasil
  • 0

Operação não permitida quando o objeto está fechado


Martinsrj

Pergunta

Olá pessoal, boa noite!

Tinha uma aplicação funcionando no meu micro normalmente, após a formatação do micro deixou de funcionar.

Agora quando tento logar no sistema da esse erro:

Tipo de erro:

ADODB.Connection (0x800A0E78)

Operação não permitida quando o objeto está fechado.

/wapReembolso/logar.asp, line 17

Porem no proprio sql server fiz um teste de consulta incluido a clausula where está funcionando dessa forma conforme a imagem abaixo:

http://uploaddeimagens.com.br/imagem/ver/sqlserver.JPG

Abaixo segue o meu código:

<%
'-- Retirar do internet explorer o cache!!!
Response.Expiresabsolute = Now() - 2
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
%>
<!--#Include file="conexaopontoweb.asp"-->
<%
Call gpAbreConexao

var_Login = TRIM(Request.Form("txt_login"))
var_Senha = TRIM(Request.Form("txt_senha"))


strSQL = "SELECT * FROM BD_atChamado.dbo.usuarios WHERE login='" & var_Login & "' AND senha='" & var_Senha & "'"
Set rsLogin = session("ObjConn").Execute(strSQL)


If rsLogin.EOF Then
    Response.Write "Login ou Senha inválida!"
    'Response.write "<script>alert('Atenção, login ou senha inválidos!')<script>" 
    Response.AddHeader "Refresh", "1;URL=http://localhost/wapReembolso/wapReembolso/login.asp"
Else
    gpSQL = "SELECT * FROM tbChamado"
    Session("login") = rsLogin("login")
    Session("senha") = rsLogin("senha")
    Session("nome") = rsLogin("nome")
    Session("temAcesso") = 1
    Session("gpSQL") = gpSQL
    
    Response.Redirect "http://localhost/wapReembolso/wapReembolso/index2.asp" 'página restrita

    'Response.write var_Login & "<br>"
    'Response.write var_Senha

Call gpFechaConexao()
    
End If
%>
Aqui segue a pagina da conexao com o banco:
<%
'CONEXÃO SQL Server
Const gpVersaoSistema = "Versão: 1.0"
Const userName_imp="paulo"
Const passWord_imp="alfa30"
Const dataBaseName_imp="BD_atChamado"
Const serverName_imp = "JESUS-2FAB328AB"


Sub gpAbreConexao()
    Dim strConn
    Set session("ObjConn") = Server.CreateObject("ADODB.Connection")
    strConn = "Provider=SQLOLEDB;Persist Security Info=False;User ID="&userName_imp&";Password="&passWord_imp&";Initial Catalog="&dataBaseName_imp&";Data Source="&serverName_imp
    session("ObjConn").ConnectionString = strConn
    On Error Resume Next
    session("ObjConn").Open 
    session("ObjConn").CommandTimeout=3600
    if Err <> 0 Then
        response.write "<font face=arial size=2 color=#000055>Ocorreu o seguinte Erro ao abrir o banco de dados : </font>" & "<font face=arial size=2 color=#FF0000>" & Err.Description & "</font>"
    ELSE
        'response.write "<font face=arial size=2 color=#000055>conexão efetuado com sucesso : </font>" & "<font face=arial size=2 color=#FF0000>" & Err.Description & "</font>"
    End if
    On Error goto 0
    Session("ConexaoAberta") = "Sim"
End Sub

Sub gpFechaConexao()
    session("ObjConn").close
    Set session("ObjConn") = Nothing 
    session("ObjConn")=""
    Session("ConexaoAberta")="Não"
End sub

%>

Desinstalei o SQLServer 2005 e instalei o 2008 e continua dando o mesmo erro.

Abaixo segue o sumario da instalação que fiz do SQL Server 2008:

Overall summary:

Final result: Passed

Exit code (Decimal): 0

Exit message: Passed

Start time: 2010-05-09 16:37:16

End time: 2010-05-09 17:01:13

Requested action: Install

Machine Properties:

Machine name: JESUS-2FAB328AB

Machine processor count: 1

OS version: Windows XP

OS service pack: Service Pack 3

OS region: United States

OS language: Português (Brasil)

OS architecture: x86

Process architecture: 32 Bit

OS clustered: No

Product features discovered:

Product Instance Instance ID Feature Language Edition Version Clustered

Package properties:

Description: SQL Server Database Services 2008 R2

ProductName: SQL Server 2008 R2

Type: RTM

Version: 10

SPLevel: 0

Installation location: d:\d7fae86ad07c07bb5bcd96ae6ce251f0\x86\setup\

Installation edition: EXPRESS_ADVANCED

User Input Settings:

ACTION: Install

ADDCURRENTUSERASSQLADMIN: True

AGTSVCACCOUNT: AUTORIDADE NT\NETWORK SERVICE

AGTSVCPASSWORD: *****

AGTSVCSTARTUPTYPE: Disabled

ASBACKUPDIR: Backup

ASCOLLATION: Latin1_General_CI_AS

ASCONFIGDIR: Config

ASDATADIR: Data

ASDOMAINGROUP: <empty>

ASLOGDIR: Log

ASPROVIDERMSOLAP: 1

ASSVCACCOUNT: <empty>

ASSVCPASSWORD: *****

ASSVCSTARTUPTYPE: Automatic

ASSYSADMINACCOUNTS: <empty>

ASTEMPDIR: Temp

BROWSERSVCSTARTUPTYPE: Disabled

CONFIGURATIONFILE:

CUSOURCE:

ENABLERANU: True

ENU: True

ERRORREPORTING: False

FARMACCOUNT: <empty>

FARMADMINPORT: 0

FARMPASSWORD: *****

FEATURES: SQLENGINE,REPLICATION,SSMS,SNAC_SDK

FILESTREAMLEVEL: 0

FILESTREAMSHARENAME: <empty>

FTSVCACCOUNT: <empty>

FTSVCPASSWORD: *****

HELP: False

IACCEPTSQLSERVERLICENSETERMS: False

INDICATEPROGRESS: False

INSTALLSHAREDDIR: C:\Arquivos de programas\Microsoft SQL Server\

INSTALLSHAREDWOWDIR: C:\Arquivos de programas\Microsoft SQL Server\

INSTALLSQLDATADIR: <empty>

INSTANCEDIR: C:\Arquivos de programas\Microsoft SQL Server\

INSTANCEID: SQLServer2008

INSTANCENAME: SQLSERVER2008

ISSVCACCOUNT: NT AUTHORITY\NetworkService

ISSVCPASSWORD: *****

ISSVCSTARTUPTYPE: Automatic

NPENABLED: 0

PASSPHRASE: *****

PCUSOURCE:

PID: *****

QUIET: False

QUIETSIMPLE: False

ROLE: AllFeatures_WithDefaults

RSINSTALLMODE: FilesOnlyMode

RSSVCACCOUNT: <empty>

RSSVCPASSWORD: *****

RSSVCSTARTUPTYPE: Automatic

SAPWD: *****

SECURITYMODE: SQL

SQLBACKUPDIR: <empty>

SQLCOLLATION: Latin1_General_CI_AS

SQLSVCACCOUNT: AUTORIDADE NT\SYSTEM

SQLSVCPASSWORD: *****

SQLSVCSTARTUPTYPE: Automatic

SQLSYSADMINACCOUNTS: JESUS-2FAB328AB\Paulo Martins

SQLTEMPDBDIR: <empty>

SQLTEMPDBLOGDIR: <empty>

SQLUSERDBDIR: <empty>

SQLUSERDBLOGDIR: <empty>

SQMREPORTING: True

TCPENABLED: 0

UIMODE: AutoAdvance

X86: False

Configuration file: C:\Arquivos de programas\Microsoft SQL Server\100\Setup Bootstrap\Log\20100509_163421\ConfigurationFile.ini

Detailed results:

Feature: Database Engine Services

Status: Passed

MSI status: Passed

Configuration status: Passed

Feature: SQL Client Connectivity SDK

Status: Passed

MSI status: Passed

Configuration status: Passed

Feature: SQL Server Replication

Status: Passed

MSI status: Passed

Configuration status: Passed

Feature: Management Tools - Basic

Status: Passed

MSI status: Passed

Configuration status: Passed

Rules with failures:

Global rules:

Scenario specific rules:

Rules report file: C:\Arquivos de programas\Microsoft SQL Server\100\Setup Bootstrap\Log\20100509_163421\SystemConfigurationCheck_Report.htm

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Olá pessoal, boa noite!

Coloquei agora a noite as duas paginas no site do pastebin, segue o link da pagina da conexao com o banco:

http://pastebin.com/EQSPkrG3

Abaixo segue verificar a situação do login:

http://pastebin.com/BQ9u2LGJ

Obs.: o segundo link está praticamento todo comentado e aparece o mesmo erro:

HTTP 500.100 - Servidor interno Erro - erro do ASP

Internet Information Services

--------------------------------------------------------------------------------

Informações técnicas (para a equipe de suporte)

Tipo de erro:

ADODB.Connection (0x800A0E78)

Operação não permitida quando o objeto está fechado.

/wapReembolso/logar.asp, line 17

Tipo de navegador:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.4; InfoPath.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; AskTB5.6)

Página:

POST 44 bytes to /wapReembolso/logar.asp

POST Data:

txt_login=admin&txt_senha=admin&Submit=Login

Vejo com isso que o erro não está no SQL Server e sim no IIS, porem já desinstalei o IIS e reinstalei a situação persiste.

Editado por Martinsrj
Link para o comentário
Compartilhar em outros sites

  • 0

Olá kuroi, boa noite!

Realizei o seguinte procedimento. Segue o código:

conexaopontoweb.asp

<%
'CONEXÃO SQL Server
Const gpVersaoSistema = "Versão: 1.0"
Const userName_imp="paulo"
Const passWord_imp="alfa30"
Const dataBaseName_imp="BD_atChamado"
Const serverName_imp = "JESUS-2FAB328AB"


Sub gpAbreConexao()
    Dim strConn
    Set session("ObjConn") = Server.CreateObject("ADODB.Connection")
    strConn = "Provider=SQLOLEDB;Persist Security Info=False;User ID="&userName_imp&";Password="&passWord_imp&";Initial Catalog="&dataBaseName_imp&";Data Source="&serverName_imp
    'session("ObjConn").ConnectionString = strConn
    ' Verifica se a conexao foi aberta, caso não, exibe mensagem e finaliza.

    If (Session("ConexaoAberta") <> "Sim") or isEmpty(Session("ConexaoAberta")) Then        
        Response.Write "Conexao ainda não foi aberta."        
        Response.End()
    End If
    
    On Error Resume Next
    session("ObjConn").Open 
    session("ObjConn").CommandTimeout=3600
    if Err <> 0 Then
        response.write "<font face=arial size=2 color=#000055>Ocorreu o seguinte Erro ao abrir o banco de dados : </font>" & "<font face=arial size=2 color=#FF0000>" & Err.Description & "</font>"
    ELSE
        'response.write "<font face=arial size=2 color=#000055>conexão efetuado com sucesso : </font>" & "<font face=arial size=2 color=#FF0000>" & Err.Description & "</font>"
    End if
    On Error goto 0
    Session("ConexaoAberta") = "Sim"
End Sub

Sub gpFechaConexao()
    session("ObjConn").close
    Set session("ObjConn") = Nothing 
    session("ObjConn")=""
    Session("ConexaoAberta")="Não"
End sub

%>
logar.asp:
<%
'Call gpAbreConexao

var_Login = TRIM(Request.Form("txt_login"))
var_Senha = TRIM(Request.Form("txt_senha"))

Response.Write(var_Login)
Response.Write(var_Senha)
Response.End()


'strSQL = "SELECT * FROM usuarios WHERE login='" & var_Login & "' AND senha='" & var_Senha & "'"
'Set rsLogin = session("ObjConn").Execute(strSQL)
'
'
'If rsLogin.EOF Then
'    Response.Write "Login ou Senha inválida!"
'    'Response.write "<script>alert('Atenção, login ou senha inválidos!')<script>" 
'    Response.AddHeader "Refresh", "1;URL=http://localhost/wapReembolso/wapReembolso/login.asp"
'Else
'    gpSQL = "SELECT * FROM tbChamado"
'    Session("login") = rsLogin("login")
'    Session("senha") = rsLogin("senha")
'    Session("nome") = rsLogin("nome")
'    Session("temAcesso") = 1
'    Session("gpSQL") = gpSQL
'    
'    Response.Redirect "http://localhost/wapReembolso/wapReembolso/index2.asp" 'página restrita
' 
'    'Response.write var_Login & "<br>"
'    'Response.write var_Senha
'
'Call gpFechaConexao()
'    
'End If
%>

Continua dando esse erro:

HTTP 500.100 - Servidor interno Erro - erro do ASP

Internet Information Services

--------------------------------------------------------------------------------

Informações técnicas (para a equipe de suporte)

Tipo de erro:

ADODB.Connection (0x800A0E78)

Operação não permitida quando o objeto está fechado.

/wapReembolso/logar.asp, line 17

Tipo de navegador:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.4; InfoPath.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; AskTB5.6)

Acredito que seja o problema do meu IIS, pois no meu trabalho funciona corretamente.

A questão é, como resolver o problema do IIS, pois já desinstalei e instalei o novamente?

Abraços.

na sua sub gpAbreConexao(), retire a linha On Error Resume Next, rode a pagina de novo, e veja se ele da uma mensagem de erro diferente.

ai poste a mensagem e a linha onde ocorre.

Link para o comentário
Compartilhar em outros sites

  • 0

hum?? mas no codigo q você postou a linha On Error Resume Next de q eu falei, continua la.

você tentou com esse codigo todo comentado e o mesmo erro continuou?? isso não tem muito sentido...

de qualquer forma, tire a linha On Error Resume Next de q eu havia falado, pra gente ver se não é erro de conexao com o banco.

se for erro de iis mesmo, ai não sei como proceder.

Link para o comentário
Compartilhar em outros sites

  • 0

Exatamente, a pagina logar.asp está com comentário de proposito. A intenção é imprimir o request do campo login e senha:

var_Login = TRIM(Request.Form("txt_login"))

var_Senha = TRIM(Request.Form("txt_senha"))

Response.Write(var_Login)

Response.Write(var_Senha)

Response.End()

Inclusive eu comentei a linha que você indicou, porem continua com o mesmo erro.

hum?? mas no codigo q você postou a linha On Error Resume Next de q eu falei, continua la.

você tentou com esse codigo todo comentado e o mesmo erro continuou?? isso não tem muito sentido...

de qualquer forma, tire a linha On Error Resume Next de q eu havia falado, pra gente ver se não é erro de conexao com o banco.

se for erro de iis mesmo, ai não sei como proceder.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...