Ir para conteúdo

Arquivado

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

MarKteus

Pq essas rotinas ASP ñ estão funcionando ?

Recommended Posts

Olá

 

estou testando uma sistema de loja na internet que baixei para estudar.

 

Joguei ele para o diretório c:\inetpub\wwwroot\loja2

 

para testá-lo localmente no IIS

 

Meu IE é versão 7 e SO XPSP2

 

porém está dando um erro no arquivo Categorias.asp precisamente na linha 6, segue abaixo trecho do arquivo:

 

<%

' Pagina de categorias

 

' Abre conexao com banco de dados. Alterar a string de conexao em global.asa

Set Conexao = Server.CreateObject("ADODB.Connection")

Conexao.Open Application("StringConexaoODBC") <<---- LINHA QUE ESTÁ DANDO O ERRO

 

' Abre tabela de produtos usando a conexao aberta acima.

Set Categorias = Server.CreateObject("ADODB.Recordset")

Categorias.Open "Categorias", Conexao

%>

 

<script LANGUAGE="JavaScript">

<!--//

function valida_procura() {

 

var Form;

Form = document.encontra;

 

if (Form.procura.value.length == 0) {

alert("Campo Procura não pode ser vazio !");

Form.procura.focus();

return false;

}

if (Form.procura.value.length < 3) {

alert("Campo procura deve conter ao menos 3 caracteres !");

Form.procura.focus();

return false;

}

return true;

}

//-->

</SCRIPT>

 

 

Abaixo segue o trecho do arquivo Global.asa

 

<script LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart

Application.Lock

server.scripttimeout = 30

REM -- Configurar com o número do estabelecimento fornecido pelo banco e

REM -- O prazo máximo para débito no cartão bradesco instantâneo e

REM -- A URL da raiz da loja

REM - GERAL

REM -- O caminho do banco de dados

Application("Nome") = "loja2"

Application("NomeLoja") = "Loja Virtual Locaweb"

Application("NumEstabelecimento") = "1220"

Application("PrazoMaxBradescoDebito") = "2"

Application("URLdaLoja") = "loja2.locaweb.com.br" ' Não colocar http:// na frente

Application("SiteSeguro") = "ssl3.locaweb.com.br" ' Não colocar https:// na frente

1 - REM Application("BancoDeDados") = "e:\home\" & Application("Nome") & "\dados\loja.mdb"

2 - Application("BancoDeDados") = "/" & Application("Nome") & "/dados/loja.mdb"

Alterei as duas linhas acima para corresponder a minha situação de paths - Comentei uma (1) e inseri a outra (2)

Application("MailLoja") = "loja@locaweb.com.br"

REM - BRADESCO NET

Application("AutorizacaoOK") = "recibo.asp"

Application("CapturaOK") = "pedidos_bradesco.asp"

Application("AutorizacaoFalha") = "recibo.asp"

Application("CapturaFalha") = "pedidos_bradesco.asp"

Application("RespostaAutorizacao") = "grava_autorizacao.asp"

Application("SenhaCodificada") = "llrZc.6An/kF."

REM - BOLETO

REM -- Dados de sua conta para emissão de boleto bancário

Application("conta") = "intermoda-safra"

Application("banco") = "safra"

Application("agencia") = "02200"

REM - Conta. A LocaWeb devera informar a formatacao correta.

Application("codigo_cedente") = "916838"

REM - Se nao souber o codigo da carteira para o seu banco, deixe como "000"

Application("carteira") = "000"

Application("DiasdeVencimento") = 7

REM - CARTAO DE CREDITO

REM - Esta chave será fornecida pela Locaweb.

Application("ChavePublica") = "A1#050f9b1d1972b9fd0fff54f2a17e8ee0536a5378529db9cc62c68e8b9ef22b55"

Application("CaminhoSeguro") = Application("SiteSeguro") & "/" & Application("Nome")

REM -- Deste ponto para baixo não realmente necessario modificacoes

1- Application("StringConexaoODBC") = "DBQ=" & Application("BancoDeDados") & ";Driver={Microsoft Access Driver (*.mdb)}"

A linha acima esta correta ? mantive como no arquivo original baixado, não mudei nada nela

Application("ServidorSMTP") = "smtp2.locaweb.com.br"

REM -- 1 - Application("DiretorioRaiz") = "e:\home\" & Application("Nome") & "\web\"

2 - Application("DiretorioRaiz") = Application("Nome") & "/web/"

Alterei as duas linhas acima para corresponder a minha situação de paths - Comentei uma (1) e inseri a outra (2)

 

 

REM - Localização das páginas. Modifique somente se o desenvolvedor optar por mover as paginas para outro lugar.

Application("URL_Categorias") = "http://" & Application("URLdaLoja") & "/categorias.asp"

Application("URL_Pedido_Seguro") = "https://" & Application("CaminhoSeguro") & "/endereco_pedido.asp"

Application("URL_Pedido") = "http://" & Application("URLdaLoja") & "/endereco_pedido.asp"

Application("URL_Confirmacao") = "http://" & Application("URLdaLoja") & "/confirmacao.asp"

Application("URL_Confirmacao_segura") = "https://" & Application("CaminhoSeguro") & "/confirmacao.asp"

Application("URL_Grava_endereco_seguro") = "https://" & Application("CaminhoSeguro") & "/grava_endereco.asp"

Application("URL_Grava_endereco") = "http://" & Application("URLdaLoja") & "/grava_endereco.asp"

Application("URL_Recibo_seguro") = "https://" & Application("CaminhoSeguro") & "/recibo.asp"

Application("URL_Recibo") = "http://" & Application("URLdaLoja") & "/recibo.asp"

Application("URL_Admin") = "http://" & Application("URLdaLoja") & "/admin.asp"

Application("URL_Admin_Seguro") = "https://" & Application("CaminhoSeguro") & "/admin.asp"

Application("URL_Mostra_pedidos_seguro") = "https://" & Application("CaminhoSeguro") & "/mostra_pedido.asp"

Application("URL_Pedidos_Bradesco") = "https://" & Application("CaminhoSeguro") & "/pedidos_bradesco.asp"

Application("URL_Pedidos_Boleto") = "https://" & Application("CaminhoSeguro") & "/pedidos_boleto.asp"

Application("URL_Pedidos_Cartao") = "https://" & Application("CaminhoSeguro") & "/pedidos_cartao.asp"

Application("URL_Mostra_produtos") = "https://" & Application("CaminhoSeguro") & "/mostra_produtos.asp"

Application("URL_Mostra_categorias") = "https://" & Application("CaminhoSeguro") & "/mostra_categorias.asp"

Application("URL_Senha_Admin") = "https://" & Application("CaminhoSeguro") & "/senha_admin.htm"

Application("URL_Insere_Produto") = "http://" & Application("URLdaLoja") & "/insere_produto.asp"

Application("URL_Carrega_Imagem") = "http://" & Application("URLdaLoja") & "/carrega_imagem.asp"

Application.Unlock

End Sub

 

</SCRIPT>

<!--METADATA TYPE="typelib" FILE="c:\program files\common files\system\ado\msado15.dll"-->

Compartilhar este post


Link para o post
Compartilhar em outros sites

Informe a mensagem de erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Informe a mensagem de erro.

Não é possível exibir a página

Ocorreu um problema com a página que você está tentando acessar e não é possível exibi-la.

 

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

 

Experimente o seguinte:

 

Clique no botão Atualizar ou tente novamente mais tarde.

 

Abra a localhost home page e procure os links para as informações desejadas.

HTTP 500.100 - Servidor interno Erro - erro do ASP

Internet Information Services

 

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

 

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

 

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

[Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado

/loja2/web/categorias.asp, line 6

 

 

Tipo de navegador:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)

 

Página:

GET /loja2/web/categorias.asp

 

Hora:

Friday, February 20, 2009, 1:00:04 PM

 

 

Mais informações:

Suporte da Microsoft

Compartilhar este post


Link para o post
Compartilhar em outros sites

a aplicação nao esta conseguindo encontrar seu banco, mude a string de conexao

 

você pode fazer assim:

 

dentro de wwwroot, crie uma pasta chama dados e dentro dela o arquivo loja.mdb

 

constring="Provider=Microsoft.Jet.OleDB.4.0;Data Source=" & Server.MapPath("/dados/loja.mdb")

Application("StringConexao")= constring

lembrando que você deve aplicar os privilégios administrativos no banco, leitura,gravação,etc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro xamburzum

 

Acredito ser outra parada mas vou testar o q você me passou, inclusive eu até já consegui resolver fazendo de outro jeito (coloquei a string de conexão dentro próprio arquivo .asp)

 

Em meus inúmeros testes pude perceber que rodando localmente (http://localhost/) o arquivo GLOBAL.ASA não é executado por um motivo ou outro q ñ sei ainda dizer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera.... 0lhem o erro corretamente "Nome da fonte de dados não encontrado e nenhum driver padrão especificado"...

 

Já verificou nos seus Drivers ODBC se o driver do Access está instalado corretamente ???

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

da uma olhada neste link aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera.... 0lhem o erro corretamente "Nome da fonte de dados não encontrado e nenhum driver padrão especificado"...

 

Já verificou nos seus Drivers ODBC se o driver do Access está instalado corretamente ???

 

Abraços...

Sim Dark

 

Os drivers estão todos lá, inclusive fiz a conexão sem usar a Global.asa o que não seria possível senão houvesse os drivers, parece q, (e não ser pq) o global.asa é ignorado.

 

A mesma string usado no global.asa usei direto no arquivo .asp e funcionou, talvez seja só meu servidor IIS aqui (sei lá). ou algum detalhe q esqueci na hora de instalar (configurar) o IIS, para trabalhar local.

 

Mas as fontes de dados e os drivers estão corretos (inclusive utilizei o mesmo caminho para a fonte de dados)

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK...

 

No seu caso, tem uma grande chance do global.asa estar na pasta raiz do seu site... e não estar na raiz do IIS...

 

no seu IIS qdo você abre ele... tem SITE DE WEB PADRÃO por exemplo... qdo você clicar lá, o GLOBAL.ASA tem q estar na listagem... se ele estiver numa pasta VIRTUAL por exemplo, não funcionará corretamente... coisa muito comum de acontecer em casa, pois no IIS do XP Professional não é possível criar vários Websites, somente Pastas virtuais...

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK...

 

No seu caso, tem uma grande chance do global.asa estar na pasta raiz do seu site... e não estar na raiz do IIS...

 

no seu IIS qdo você abre ele... tem SITE DE WEB PADRÃO por exemplo... qdo você clicar lá, o GLOBAL.ASA tem q estar na listagem... se ele estiver numa pasta VIRTUAL por exemplo, não funcionará corretamente... coisa muito comum de acontecer em casa, pois no IIS do XP Professional não é possível criar vários Websites, somente Pastas virtuais...

 

Abraços...

Peraí Dark

 

o GLOBAL.ASA deve ficar no c:\inetpub\wwwroot ? é isso ? :unsure:

se for, pode ser isso, pois verificando lá na pasta não vi ele não

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim.. É ISSO... =)

Mas Dark

 

Cada WebSite ñ precisa ter o seu próprio global.asa ?

 

 

Por exemplo criei uma loja virtual para uma empresa X e um para empresa Y

 

no wwwroot (local ou provedor)

 

as pastas ficariam assim:

Empresa_X\

... Arquivos do site Empresa_X

 

Empresa_Y\

... Arquivos do site Empresa_Y

 

com global.asa somente no raiz do servidor (wwwroot), ou seja, fora das pastas raiz das lojas virtuais, 1 sobreporia o outro, não é ? E outro detalhe, eu posso ter uma determinada configuração pra cada site (por exemplo a caminho do banco de dados de um ser diferente do outro)

 

como faria referência de caminhos, variáveis, etc em apenas um global.asa para vários websites?

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma coisa que você pode fazer tb, é o seguinte.

criar um arquivo com esse conteudo:

 

<% '----------------------
'	este arq. serve para estabelecer a conexao com o BD em Access
'	de nome teste.mdb - para o arquivo login_action.asp

sub abreconexao
constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("db/teste.mdb")
Set conexao=Server.CreateObject("ADODB.Connection")
conexao.open constring
end sub

sub fechaconexao
set conexao=nothing
end sub
%>

deixa o arquivo mdb, dentro da pasta db, que esta em wwwroot/db,

e o arquivo criado acima, dentro da pasta conexao, wwwroot/conexao,

e para usar , você inclui o arquivo, como um include, assim:

 

<!--#include file="conexao/conexao1.asp"-->

e para para chamar a Sub, faz assim:

 

exemplo:

 

Option explicit
   'declaro as var
   dim varlogin, varemail, varsenha, conexao, conDBQ, constring, rsselect, SQLselect, rsinsert, SQLinsert
   'recupero todos os dados
   varlogin=trim(request.form("login"))
   varsenha=trim(request.form("senha"))
   varemail=trim(request.form("email"))
   'crio a conexao
   %>
   <!--#include file="conn/conexao1.asp"-->
   <% 'abrir a conexao
   call abreconexao
   'crio o rsselect para verificar se os dados jah estaun cadastrados
   set rsselect=server.createobject("ADODB.Recordset")
   'crio o SQLselect
   SQLselect="SELECT login FROM login WHERE login='"&varlogin&"'"
   rsselect.open SQLselect,conexao,1,3

melhor do que colocar a conexao dentro de um application

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xanburzum

 

foi isso q acabei fazendo, claro q não com tantos cuidados como você fez aí, pois estou somente estudando contudo ficou essa dúvida agora sobre o global.asa, segundo o Dark ele deve ficar no raiz do servidor, eu já acho q não, e ainda to com aquela dúvida: se o meu IIS está com problemas de configuração ou se realmente rodando local (localhost) o global talvez seja ignorado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

este método de conexao , que te passei é muito funcional, e acaba nao sobre carregando o application, e usa include para fazer a conexao.

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.