Ir para conteúdo

POWERED BY:

Arquivado

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

mows

Problema com conexão ao BD

Recommended Posts

Bom dia pessoal.

Dei uma procurada nos tópicos mas não achei algo que pudesse me ajudar.

 

Estou mexendo com páginas ASP num servidor WinServer2003. A conexão ao banco está normal, faço conexões em páginas e ela funciona normalmente.

Porém estou tendo problemas ao conectar em algumas pastas dentro desse mesmo servidor.

Para que a conexão funcione eu preciso replicar o Global.asa dentro da pasta onde está a página que faz a conexão.

Não queria ter que fazer essa replicação do arquivo, pois acho que o global.asa deve ser único. não?!

 

As pastas possuem permissão de leitura e execução.

 

O meu global.asa padrão está na raiz do site. A pasta que está tendo problema está assim: /raiz/pasta/pastacomproblema

 

Agradeço a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conexão no arquivo glogal.asa:

 

Application("ConSql2_ConnectionString") = "Provider=SQLOLEDB.1;Password=senha;Persist Security Info=True;User ID=siteid;Initial Catalog=base;Data Source=172.0.0.0;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=nomebanco;Use Encryption for Data=False;Tag with column collation when possible=False"
		Application("ConSql2_ConnectionTimeout") = 90
		Application("ConSql2_CommandTimeout") = 60
		Application("ConSql2_CursorLocation") = 3
		Application("ConSql2_RuntimeUserName") = "username"
		Application("ConSql2_RuntimePassword") = "senha"

 

Conexão na página:

Set ConSql = Server.CreateObject("ADODB.Connection")	
ConSql.ConnectionString = Application("ConSql2_ConnectionString")
if ConSql.State = 0 then ConSql.Open

 

Obs: A conexão funciona normalmente para o site em si. Porém em algumas pastas, para outras páginas, preciso replicá-lo, senão não funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

referencia o global.asa assim:

 

include..... =../global.asa

Referenciar o global.asa ?!

Bom, nunca imaginei que isso podia ser feito, afinal o IIS reconhece ele automaticamente.

Enfim, testei referenciar e não deu certo. Continua o mesmo erro de conexão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

referencia o global.asa assim:

 

include..... =../global.asa

Referenciar o global.asa ?!

Bom, nunca imaginei que isso podia ser feito, afinal o IIS reconhece ele automaticamente.

Enfim, testei referenciar e não deu certo. Continua o mesmo erro de conexão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou separando a parte da conexão e colocando num arquivo separado tipo connect.asp e chamar ele como include?

nas pastas chama ele por ../connect.asp

 

testa ai, raramente uso o global.asa por isso tinha sugerido chamar ele daquele jeito, mas você tem razão ele era para ser global, o problema é que

se não me engano, com isso o arquivo que está na pasta chama o bd como se ele também estivesse na pasta, talvez se você usar um

server.mappatch para "mostrar" o caminho do bd no global.asa talvez funcione.

Pessoalmente, prefiro chamar a conexão ao bd por um arquivo em separado.

 

Abraços,

Vinicius Ianni

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que descobri o problema em si.

A pasta onde estou tendo problemas está criado um diretório virtual. E no diretório virtual o IIS seta padrão o 'DefaultAppPool', assim colocando a pasta virtual como sendo a raiz para chamada de aplicativos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode, por exemplo, ter uma pasta chamada conexao, dentro de C:\Inetpub\wwwroot\conexao,

e dentro dela ter um arquivo conexao.asp, onde nele você terá o conteudo:

 

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

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

sub fechaconexao
set conexao=nothing
end sub
%>

e nas paginas chamar o arquivo , atraves do include:

 

...
'cria a conexao%>
		<!--#include file="conn/conexao1.asp"-->
		<% 'abro a conexao
		call abreconexao
		...

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.