helyoWAP

PÁGINAS WML GERADAS DINAMICAMENTE EM AMBIENTE ASP
 
(19)
Conexão "com DSN" e "sem DSN"

Autores: Helio Fonseca Rosa e Andrea de Mello Rosa


Conexão "com DSN" e "sem DSN"

Se você chegou até este ponto vindo das páginas anteriores é porque domina bem a técnica de banco de dados e conhece as siglas:
ADO - ActiveX Data Objects;
OLE DB - Object Linking and Embbeding Database;
ODBC - Open Database Connectivity;
DSN - Data Source Name

Você deve ter reparado que a conexão com o bancoCinema.mdb até agora foi "DSN-less" ou "sem DSN".

Vamos exemplificar a criação de uma conexão "com DSN". Seguem-se duas listagens: a do programa tela100.asp, já conhecida e o tela500.asp, mesmo programa modificado para conexão com DSN. As partes diferentes aparecem a cores.

Programa tela100.asp

<%
Response.ContentType = "text/vnd.wap.wml" 
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
" http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
  <card>
     <p>
      ***** HELYOWAP *****<br/>
      *******FILME********<br/>
<%
DIM conCinema
DIM recFilmes
DIM pssql
DIM cod
codigo=(Request.QueryString("cod"))

const cntCaminho = "c:\inetpub\wwwroot\asp\bancoCinema.mdb"

Set conCinema = Server.CreateObject("ADODB.Connection")
Set recFilmes = Server.CreateObject("ADODB.Recordset")

conCinema.Open "driver={Microsoft Access Driver (*.mdb)};dbq="
 & cntCaminho


pssql = "SELECT tblFilme.NomeFilme, tblFilme.AtoresFilme, "
pssql = pssql & " tblCategoria.DescCategoria, tblCinema.NomeCinema, " 
pssql = pssql & " tblProgramacao.Horarios, tblFilme.CodFilme "
pssql = pssql & " FROM (tblCategoria INNER "
pssql = pssql & " JOIN tblFilme ON tblCategoria.CodCategoria =
  tblFilme.CodCategoria)  INNER JOIN "
pssql = pssql & " (tblCinema INNER JOIN "
pssql = pssql & " tblProgramacao  ON tblCinema.CodCinema =
 tblProgramacao.CodCinema) "
pssql = pssql & " ON tblFilme.CodFilme = tblProgramacao.Codfilme "
pssql = pssql & " WHERE tblFilme.CodFilme=" & codigo

recFilmes.Open pssql,conCinema

Response.Write recFilmes.Fields("NomeFilme") & "<br/>"
Response.Write recFilmes.Fields("AtoresFilme") & "<br/><br/>Cinemas:<br/>" 
Do While Not recFilmes.Eof 
Response.Write recFilmes.Fields("NomeCinema") & "<br/>"
Response.Write recFilmes.Fields("Horarios") & "<br/>" 
recFilmes.MoveNext
Loop
recFilmes.Close
conCinema.Close
%>
</p>
</card>
</wml>


Programa tela500.asp

<%
Response.ContentType = "text/vnd.wap.wml" 
%>
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
" http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card>
<p>
***** HELYOWAP *****<br/>
*******FILME********<br/>
<%
DIM conCinema
DIM recFilmes
DIM pssql
DIM cod
codigo=(Request.QueryString("cod"))

Set conCinema = Server.CreateObject("ADODB.Connection")
Set recFilmes = Server.CreateObject("ADODB.Recordset")

conCinema.Open "DSN=SistemabancoCinema"

pssql = "SELECT tblFilme.NomeFilme, tblFilme.AtoresFilme, "
pssql = pssql & " tblCategoria.DescCategoria, tblCinema.NomeCinema, " 
pssql = pssql & " tblProgramacao.Horarios, tblFilme.CodFilme "
pssql = pssql & " FROM (tblCategoria INNER "
pssql = pssql & " JOIN tblFilme ON tblCategoria.CodCategoria = tblFilme.CodCategoria) INNER JOIN "

pssql = pssql & " (tblCinema INNER JOIN "
pssql = pssql & " tblProgramacao ON tblCinema.CodCinema = tblProgramacao.CodCinema) "
pssql = pssql & " ON tblFilme.CodFilme = tblProgramacao.Codfilme "
pssql = pssql & " WHERE tblFilme.CodFilme=" & codigo

set recFilmes=conCinema.execute(pssql)

Response.Write recFilmes.Fields("NomeFilme") & "<br/>"
Response.Write recFilmes.Fields("AtoresFilme") & "<br/><br/>Cinemas:<br/>" 
Do While Not recFilmes.Eof 
Response.Write recFilmes.Fields("NomeCinema") & "<br/>"
Response.Write recFilmes.Fields("Horarios") & "<br/>" 
recFilmes.MoveNext
Loop
recFilmes.Close
conCinema.Close
%>
</p>
</card>
</wml>


Para criar o ODBC DSN para o bancoCinema.mdb seguimos a seguinte sequência:

1. Clique em Iniciar --> Configurações --> Painel de controle .
2. Duplo clique em ODBC Data Source Administrator.
3. Há três tipos de DSN: User DSN, System DSN e File DSN. Escolhemos o segundo tipo. Selecione a guia System DSN.
4. Clique em Add.
5. Selecione o Microsoft Access Driver(*.mdb) e clique em Finish.
6. Na janela do Setup escolhemos o nome que será usado para se referir ao DSN. O nome escolhido foi SistemabancoCinema apenas para ressaltar a opção pelo System DSN. Confira em vermelho na listagem acima.
7. Em Database clique em Select.
8. Selecione o bancoCinema.mdb. Registre o caminho (endereço) do banco. Está em c:\inetpub\wwwroot\asp.Clique em OK.
9.Na janela do Setup clique em OK.
10. Feche o ODBC Data Source Administrator clicando em OK.

WirelessBRASIL                 Portal helyoWAP                    Anterior                    Próxima