Ir para conteúdo

POWERED BY:

Arquivado

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

Gilcimar Macedo

Mensagem de Objeto necessário

Recommended Posts

Anteriornmente deixei um post que te questionei sobre conexão aberta no mysql? a principio tinhamos resolvido mas tiive um problema no meu pc e tive alguns arquivos apagados inclusive o com a dica que você havia me passado.

 

O post é:

http://forum.imasters.com.br/index.php?sho...mp;#entry878671

 

Ao carregar a default algumas query tem de ser executada, mas percebi que depois que coloquei o parametro de encerramento de conexão esta apresentando esta mensagem agora..

 

Script error detected at line 83.

Source line: set rs_acesso_area=ConectaMysql.execute(sql)

Description: Objeto necessário

 

Oque pode esta acontecendo para dar esta mensagem?.. Lembrando que se tirar os parametros de encerramento da conexão volta a funcionar.. mas a conexão ficaria aberta..

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta este trecho de codigo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

a pergunta é se voce criou esta conexao?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A query que são essas e estão corretas e não ocorrem erro quando não fecho a conexão, mas quando colocque o paramentro de conexão ocorre erro em outra query.

 

Script error detected at line 117.

Source line: set rs_enquete_combo=ConectaMysql.execute(sql)

Description: Objeto necessário

 

 

 

'''''''''''''''' Query Módulo Área Restritaif Request.Form("nome")<> "" then	'Valida usuário para acesso a area restita	sql =		" select nome, username from int_rel_usuario "	sql = sql & " where username = '" & nomeAtual &  "' and senha = '" & senhaAtual &  "'"	sql = sql & " and status = 'S'"	Response.Write sql	set rs_acesso_area=ConectaMysql.execute(sql)'Verifica se o usuário tem acesso a área restrita	if not rs_acesso_area.eof then		sql =		" select * from int_rel_usuario "		sql = sql & " where username = '" & nomeAtual &  "'"		set rs_acesso_count=ConectaMysql.execute(sql)	end if 'Incrementa +1 no controle de acesso para o usuário que estiver logado		if not rs_acesso_area.eof then			sql =		" update int_rel_usuario SET Acesso = " & rs_acesso_count(5) + 1 & " " 			sql = sql & " where username = '" & nomeAtual &  "'"			set rs_acesso_count_um=ConectaMysql.execute(sql)		end if 	'Informa qual o numero de acesso para o usuário logado				if not rs_acesso_area.eof then					sql =		" select * from int_rel_usuario " 				sql = sql & " where username = '" & nomeAtual & "'"				set rs_acesso_count_dois=ConectaMysql.execute(sql)			end ifend if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adilson,

 

Incluo a conexão de forma virtual conexao.asp nesta pagina tenho a seguinte string de conexão:

<%set ConectaMysql = Server.CreateObject("ADODB.Connection")ConectaMysql.Open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=integra; UID=root;PASSWORD=; OPTION=3"ConectaMysql.CloseSet ConectaMysql = Nothing%>

Onde pode estar errado.. na outra página que é a consulta.asp incluo virtualmente tb a pagina conexão.

Mesma coisa faço para a página default.asp

 

<!--#include virtual="Conexao.asp" --> <!--Mantem a conexão com Banco-->

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha não sei se você fez assim:

 

Vou dar um exemplo:

 

Essa é minha conexão com o banco de dados

<%sub AbreConexaoSet conexaoDataBase = Server.CreateObject("ADODB.Connection") conexaoDataBase.Open = "Driver={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=nome do banco; UID=usuario; PWD=senha" conexaoDataBase.CursorLocation = 3 end subsub FechaConexaoconexaoDataBase.closeset ConnString = nothingend sub%>

Eu fazia isso e não a chamava e dava esse erro ai.

Mas eu resovi quando eu fiz assim:

 

call abreConexao, ai funcionou, foi isso que eu quiz passar para você.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adilson,Cara, valeu pela ajuda mas não funcionou.Script error detected at line 148. Source line: set rs_enquete_combo=ConectaMysql.execute(sql) Description: Objeto necessárioMe parece que no momente em que é aberta a conexao logo já é fechada e não é disponibilizada conexão por esse motivo..Não sei mas vou rever o código..Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Do jeito que está ele abre e fecha a conexão. Faça como o Adilson indicou e conseguirá executar normalmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado, mas eu fiz dessa forma, só uma pergunta..Eu faço inclusão do arquivo de conexão com o banco, este arquivo é incluso na parte superior do script ou seja, sempre estará executando e fechando ao mesmo tempo?Ou devo colocar o script que fecha conexão no final de uma consulta?Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça a inclusão assim:

 

<!--#Include file="nome da sua página"-->

eu salvo essa conexao como .inc

 

tenta ai você vai conseguir.

 

você tem que chamar a função. call AbreConexao, depois de ter feito tudo o que você quiser fazer na página você chama a função para fechar

 

call fechaConexao. Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adilson, Bom estou fazendo da forma que vcs estão dizendo, percebi que passou por uma etapa.. agora tenho uma dúvida

 

Quanto tento utulizar um retorno da minha pagina consulta fala que o objeto esta fechado..

 

Script error detected at line 553.

Source line: if not rs_enquete_combo.eof then

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

 

Pagina Consulta.asp

call AbreConexaosql =	   " select cod_enquete, desc_enquete "sql = sql & " from int_rel_enquete "sql = sql & " where status_enquete = 'S' "sql = sql & " order by cod_enquete "set rs_enquete_combo=ConectaMysql.execute(sql)call fechaConexao

Porque que quando fui utilizar o retorno desta consulta me deu esta mensagem de erro.?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gilcimar, seu arquivo de include é daquela forma que você postou? Se sim você não vai conseguir rodar pois você seta o objeto, abre, fecha e destrói o objeto, tudo em seqüencia.

 

Veja o exemplo que o Adilson postou e adapte para seu caso.

 

Adilson, NÃO use a extensão ".inc" em ASP, pois caso haja algum erro no servidor esse arquivo poderá ser exibido diretamente no Browser do visitante, se for uma conexão com MySQL ou SQLServer fatalmente irá conter nome de usuário, senha, IP ou Name do server do SQL.

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.