Ir para conteúdo

POWERED BY:

Arquivado

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

Leandro D.

[Resolvido] ASP e IIS 7.5 no Windows 7

Recommended Posts

Pessoal, preciso de uma ajuda urgente! Já procurei na net mas não encontrei nada que me ajudasse. Recentemente adquiri um PC novo com Win 7 e instalei o IIS 7.5, porém não estou conseguindo usar minhas páginas ASP que usava no XP. Na hora da instalação eu selecionei o ASP clássico, porém não consigo usar. Teria como alguém me ajudar, tipo uma configuração passo a passo. Resumindo eu fiz o seguinte:

 

1. Fui em Painel de Controle > Programas > Ativar recursos do Windows.

2. Selecione o Serviços de Informação Internet (IIS) > Marquei para instalar o ASP (clássico)

3. Coloquei a pasta com o meu site no C:\Inetpub\wwwroot

4. Adicionei um novo diretório virtual no site padrão com o Alias "Pedidos".

5. O endereço físico do novo diretório virtual ficou C:\Inetpub\wwwroot\Pedidos.

6. No browser eu digito http://localhost/Pedidos.

7. Aparece a seguinte mensagem:

 

An error occurred on the server when processing the URL. Please

contact the system administrator.

 

If you are the system administrator please click here to find out more

about this error.

 

Minha página principal é a default.asp e ela faz um busca em um banco de dados (.mdb) e grava em uma variável. Veja abaixo a linha de consulta:

 

<%Dim objConn, objRS, strQuery, hoje, semana_atual
hoje=Date
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=c:/Controle/banco_dados.mdb;Driver={Microsoft Access Driver (*.mdb)}"
strQuery="SELECT * FROM datas WHERE data='"&hoje&"'"
Set objRS=objConn.Execute(strQuery)
semana_atual=objRS("semana")
%>

 

No XP funcionava tranquilo, não estou conseguindo fazer funcionar no Windows 7 Professional 32 bits. Eu li em algumas pesquisas na internet para verificar algumas permissões mas não consegui. Preciso de uma ajuda mais clara. No XP não tinha tanta frescura assim. Se alguém puder ajudar eu agradeço mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se habilitou o site para processar scripts de conexão.

 

1 - Clique duas vezes sobre o nome do seu site criado e na na guia ao lado, clique em Autenticação

2 - Clique na primeira linha (Autenticação Anônima) e depois clique em Editar

3 - Selecione a opção (Identidade do Pool de Aplicativos

A - Clique sobre o site criado e depois clique em Mapeamento de Manipulador.

B - No Menu Ações (lado direito) clique em - Editar Permissões de Manipulador. Marque todas as opções de leitura,script e executar

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se habilitou o site para processar scripts de conexão.

 

1 - Clique duas vezes sobre o nome do seu site criado e na na guia ao lado, clique em Autenticação

2 - Clique na primeira linha (Autenticação Anônima) e depois clique em Editar

3 - Selecione a opção (Identidade do Pool de Aplicativos

A - Clique sobre o site criado e depois clique em Mapeamento de Manipulador.

B - No Menu Ações (lado direito) clique em - Editar Permissões de Manipulador. Marque todas as opções de leitura,script e executar

 

Boa noite xanburzum! Que legal hein, você é de Piracicaba, eu moro em Santa Maria da Serra, bem próximo!

 

Bom vamos ao meu caso, fiz tudo o que você passou e nada, quando eu digito o endereço http://localhost/Pedidos aparece a mensagem abaixo:

An error occurred on the server when processing the URL. Please contact the system administrator.

 

If you are the system administrator please click here to find out more about this error.

 

Como eu faço para exibir o erro real que está ocorrendo? Pra mim a mensagem é muito vaga. Vê se você pode me ajudar. Obrigado por enquanto.

 

xanburzum, eu fiz um teste aqui e percebi uma coisa. No meu site tem uma página chamada cadusuario.asp, ela abre normalmente. Quando eu preencho o formulário e clico em cadastrar dá a mesma mensagem de erro que eu postei acima. A página default.asp faz um consulta em um banco de dados (arquivo .mdb) no ínicio dela, eu acho que é o acesso ao arquivo mdb que está dando erro, porém não sei dizer o erro. Veja o código da minha consulta na página default.asp:

<%Dim objConn, objRS, strQuery, hoje, semana_atual
hoje=Date
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=c:Inetpub/wwwroot/Controle/banco_dados.mdb;Driver={Microsoft Access Driver (*.mdb)}"
strQuery="SELECT * FROM datas WHERE data='"&hoje&"'"
Set objRS=objConn.Execute(strQuery)
semana_atual=objRS("semana")
%>

E abaixo o cógigo quando clico no botão do formulário da página cadusuario.asp:

<%Dim objConn, objRS, strQuery, nome, senha, dpt, email, veri, id, at, adm
nome=request.querystring("cadnome")
senha=request.querystring("cadsenha")
dpt=request.querystring("caddpt")
email=request.querystring("cademail")
veri=request.querystring("ver")
adm="leandro@clune.com.br"
id=(GerarRandomize(80))
at=(GerarRandomize(10))
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=c:Inetpub/wwwroot/Controle/banco_dados.mdb;Driver={Microsoft Access Driver (*.mdb)}"
strQuery="INSERT INTO usuarios (usuario, senha, departamento, email, aprovado, id_sistema, alt_pass) VALUES ('"&nome&"','"&senha&"','"&dpt&"','"&email&"','"&veri&"','"&id&"','"&at&"')"
Set objRS=objConn.Execute(strQuery)

As variaveis id e at usam um script para gerar números aleatório. O que pode estar acontecendo?

Outra coisa que eu percebi é, porque não está aparecendo acentuações? Agradeço desde já.

 

Veja a imagem da tela cadusuario.asp, nela mostra o erro na acentuação. Veja também o erro depois de clicar em cadastrar.

pag_asp.png

erro_pag.png

 

Consegui exibir o erro que esta acontecendo, tem haver com a conexão com o banco de dados mesmo, mas não sei como resolver. Segue o erro:

Microsoft OLE DB Provider for ODBC Drivers erro '80004005'

 

[Microsoft][Driver ODBC para Microsoft Access] '(desconhecido)' não é um caminho válido. Certifique-se de que o nome do caminho esteja escrito corretamente e que você esteja conectado ao servidor no qual o arquivo reside.

 

/Pedidos/Default.asp, linha 4

Será que agora fica mais fácil descobrir o que é?

 

Alterei o método de consulta ao banco de dados conforme abaixo (encontrei em um blog):

<%Dim objConn, objRS, hoje, semana_atual, filePath
hoje=Date
filePath=Server.MapPath("banco_dados.mdb")
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath
Set objRS=Server.CreateObject("ADODB.Recordset")
Set objRS=objConn.Execute("SELECT * FROM datas WHERE data='"&hoje&"'")
semana_atual=objRS("semana")
%>

 

Aí o erro mudou para o seguinte:

ADODB.Field erro '800a0bcd'

 

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.

 

/Pedidos/Default.asp, linha 8

 

O que pode ser, já que eu sei que o valor buscado existe?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique as permissões de leitura/gravação etc no arquivo mdb, de os privilégios administrativos no arquivo...

 

 

P.S.: opa, ae.... se mora pertinho.... Piracicaba

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique as permissões de leitura/gravação etc no arquivo mdb, de os privilégios administrativos no arquivo...

 

 

P.S.: opa, ae.... se mora pertinho.... Piracicaba

Aí amigo, eu vi nas permissões do arquivo e esta controle total, o que mais pode ser, ainda dá erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se realmente há registro. Se você está certo de que há resultados, você pode verificar que a versão mais recente do MDAC ,outra possível razão é que você está usando um procedimento armazenado que opera em uma tabela temporária, ou row-affecting afetando sua instrução select. Para contornar este problema, emita o seguinte no início do seu procedimento armazenado:

 

SET NOCOUNT ON

 

Isso vai impedir "(n) linha (s) affected" mensagens sejam interpretadas pelo provedor como um conjunto de resultados.

 

Se você não pode mudar o procedimento, você pode usar tentativa e erro para adicionar a seguinte declaração, a fim de mover-se para o conjunto de resultados corretos e povoados:

<% 
   set conn = CreateObject("ADODB.Connection") 
   conn.open <connection string> 
   set rs = conn.execute(<sql>) 
   set rs = rs.nextRecordSet() 
   ' ... 
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se realmente há registro. Se você está certo de que há resultados, você pode verificar que a versão mais recente do MDAC ,outra possível razão é que você está usando um procedimento armazenado que opera em uma tabela temporária, ou row-affecting afetando sua instrução select. Para contornar este problema, emita o seguinte no início do seu procedimento armazenado:

 

SET NOCOUNT ON

 

Isso vai impedir "(n) linha (s) affected" mensagens sejam interpretadas pelo provedor como um conjunto de resultados.

 

Se você não pode mudar o procedimento, você pode usar tentativa e erro para adicionar a seguinte declaração, a fim de mover-se para o conjunto de resultados corretos e povoados:

<% 
   set conn = CreateObject("ADODB.Connection") 
   conn.open <connection string> 
   set rs = conn.execute(<sql>) 
   set rs = rs.nextRecordSet() 
   ' ... 
%>

xanburzum, desculpe a demora pra responder... as coisas estavam corridas.

Bem, eu fiz tudo o que você disse e ainda não conectava com o banco de dados. Porém eu resolvi de uma forma estranha :ermm: ???

Eu abri o banco de dados no Access 2010 (Win 7 e IIS 7.5) e fiz uma alteração na estrutura e salvei... aí funcionou. Quando fui testar no XP (IIS 5.1) deu erro, aí eu abri o arquivo novamente (Access 2003) simulei uma mudança (mudei salvei, voltei a alteração e salvei novamente) e aí funcionou. Estranho isso, você não acha? O arquivo mdb foi criado no Access 2003 (computador da empresa onde trabalho), só que na minha casa eu tenho Access 2010. Isso interfere de alguma forma?

Compartilhar este post


Link para o post
Compartilhar em outros sites

com Access 2007 e 2010 a string de conexao pode ser assim:

 

Provider=Microsoft.ACE.OLEDB.12.0;Data Source="& caminho &";Persist Security Info=False;"

 

só precisa verificar se realmente as permissões estão setadas corretamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

com Access 2007 e 2010 a string de conexao pode ser assim:

 

Provider=Microsoft.ACE.OLEDB.12.0;Data Source="& caminho &";Persist Security Info=False;"

 

só precisa verificar se realmente as permissões estão setadas corretamente

Vou tentar alterar a conexão e testar pra ver o que acontece. Referente as permissões está tudo certo, permissão para leitura e gravação e nas propriedades está controle total. Mesmo assim obrigado pela ajuda e espero contar com você em dúvidas futuras.

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa ter as permissoes e verifique o MDAC

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa ter as permissoes e verifique o MDAC

Então, como eu disse as permissões estão OK! Já está habilitado para 32 bits. O que é este MDAC? Mesmo assim está funcionado agora, caso dê algum erro eu posto aqui. Muito obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

que bom que esta funcionando, qualquer coisa posta ae.

clique aqui para saber o que é o MDAC

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que foi feito para resolver o problema do Leandro? Estou com o mesmo problema, já fiz todos os procedimentos e não consegui, exceto esse de colocar como 32 bits, eu não encontrei em lugar nenhum essa opção. Tenho um site todo desenvolvido no WebMatrix 2 e quando coloquei ele para rodar no ISS local (Windows 7), não funcionou a conexão com o Banco de Dados (SQL Server). O que faço para funcionar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

procure no fórum , pois coloqeui um post sobre algumas config. no IIS 7.5 no Windows 7

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado mesmo pela ajuda!!!

 

Eu encontrei a solução, o usuário de autenticação do meu IIS estava diferente do meu do Windows, então quando ele tentava conectar não conseguia.

 

A solução para caso alguém venha buscá-la.

Escolha seu site/ Clique em autenticação / Autenticação anônima / Editar no menu direito / Usuário Específico / Coloque seu usuário configurado no Banco de Dados. No meu caso estou usando Sql Server com autenticação do Usuário do Windows, então só coloquei meu usuário do Windows, e funcionou.

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.