Conectando-se a um banco de dados Access através do ASP – Parte 1

Aprenda a realizar as operações básicas envolvendo bancos de dados com o ASP.

Ao pensarmos em sites que acessam bancos de dados, a primeira coisa que vem à cabeça são grandes sites, como um site de comércio eletrônico, com cadastros de produtos, clientes, fornecedores e etc. Apesar destes grandes sites utilizarem (grandes) bancos de dados, existem muitos outros pequenos sites que também os utilizam (ou poderiam utilizá-los).

Hoje em dia, sites que acessam bancos de dados são cada vez mais comuns. Um exemplo: suponha um simples site institucional. Este site possui uma página descrevendo a empresa, seus serviços, um formulário de contato, etc. Para tanto, digamos que ao total existam cinco diferentes páginas. Até aí, tudo bem. Mas vamos além: imagine ainda que o responsável pelo conteúdo do site na empresa não entenda de HTML (que dirá de ASP). Como ele fará para atualizar informações em seu site sem precisar contatar um profissional? A resposta: atráves de um sistema de administração de conteúdo. O site poderia conter uma área, protegida por senha, onde a pessoa responsável possa alterar o conteúdo de cada uma das páginas, como por exemplo, atualizar um telefone, ou acrescentar uma informação, sem ver nenhuma tag HTML ou comando de ASP. Para que isso seja possível, tais informações (o conteúdo de cada página) devem estar em um banco de dados.

O ASP permite trabalhar com qualquer banco de dados popular, como o SQL Server, Oracle, MySQL, PostgreSQL, Access, MSQL… peraí? Access? Isso mesmo!

O Access é conhecido por ser um banco de dados limitado, voltado ao uso doméstico ou em pequenas empresas; mas isso não impede de ser utilizado em um site. De fato, se o site não fizer operações complexas envolvendo o banco de dados e nem tiver muitos acessos simultâneos, é possível usar o Access normalmente. Se for necessário um banco robusto, é melhor esquecê-lo. Nesta página (em inglês) vocês podem encontrar uma relação das limitações do Access como banco de dados para a web.

De qualquer forma, veremos o uso do Access apenas para fins didáticos, pois uma de suas vantagens é a simplicidade na criação de um banco de dados e a facilidade para carregá-lo para qualquer lugar, pois ocupa um único arquivo (de extensão .mdb).

Antes de qualquer coisa, baixem o banco de dados usado como exemplo: aqui.

Começando…

Assim como fizemos no módulo de PHP, qualquer tarefa envolvendo o uso de um banco de dados requer alguns comandos essenciais: a conexão com o banco e a definição da tabela a ser usada.

Para tanto, criem um novo arquivo ASP VBScript no Dreamweaver e acrescentem as linhas a seguir (percebam que a primeira linha já existe no código da nova página):


<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath("banco.mdb")&";"
Set registros = Server.CreateObject ("ADODB.Recordset")
registros.Open "usuarios",conexao,3,3
%>

Complicado? Nem tanto. À primeira vista assusta, mas com o uso você decora…

Veja que uma palavra se repete: ADODB. “DB” sabemos que vem de “database” (banco de dados), já o ADO é uma tecnologia proprietária da Microsoft que provê uma interface para o acesso aos dados armazenados em um banco de dados. Ele é instalado junto com o IIS.

Voltando a analisar o código: a linha que inicia com “set conexao” cria uma instância chamada de “conexao” a partir do objeto “ADODB.Connection”. Lembram-se de que vimos por alto o uso do método CreateObject do objeto Server? Olha ele aí instanciando um objeto…

O objeto ADODB.Connection estabelece uma conexão a um banco de dados. Seu uso é fundamental para que realizemos qualquer operação com o banco.

Após a criação do objeto “conexao”, utilizamos o seu método “Open” para inicializar a conexão com o banco. Nesta etapa, qual é o banco de dados que iremos utilizar e onde ele se localiza. O parâmetro passado à função é chamado de string de conexão. No exemplo acima, a string de conexão contém o “provider” e o “data source” a serem usados. O primeiro é o provedor, que indica o mecanismo que lidará com o banco (este em questão é o provedor que lida com o Access e o Excel). O data source (fonte de dados) especifica o local do arquivo do banco de dados. O método “Server.MapPath” foi usado para obter o caminho completo do arquivo (que poderia ser, por exemplo, “C:\Inetpub\wwwroot\site\banco.mdb”).

Após o uso do método “Open” do objeto “conexao”, instanciamos um objeto a que chamamos “registros” (do tipo ADODB.Recordset). Este objeto armazenará os dados do banco, normalmente de uma tabela por vez.

O método “Open” para o objeto “registros” tem a função de associar o objeto a um conjunto de registros (ex.: uma tabela). No exemplo acima, “abrimos” a tabela chamada “usuarios” através da conexão definida no objeto “conexao”. O “3,3″ no final indica o tipo de cursor e o modo de travamento. O primeiro, com valor “3″, indica que a movimentação por entre os registros será feita apenas para a frente, o que aumenta a performance. O segundo “3″ indica que o registro ficará travado para não permitir alterações por outros usuários enquanto estiver sendo usado. Estes parâmetros são opcionais, podendo ser omitidos. Mais detalhes sobre o tipo de cursor e o modo de travamento no site da W3 Schools (em inglês).

Até aqui o que fizemos foi apenas nos conectar a um banco e selecionar uma tabela. Portanto, nenhuma informação do banco estará ainda visível. Em breve continuarei este artigo, colocando um exemplo prático, onde poderemos listar os registros já armazenados no banco. Até.

4 Respostas para “Conectando-se a um banco de dados Access através do ASP – Parte 1”

  1. Conectando-se a um banco de dados Access através do ASP - Parte 2 « iranrodrigues.com - desenvolvimento web Disse:

    [...] o post anterior, veremos como listar os registros existentes em uma tabela no banco. Antes de qualquer coisa, [...]

  2. Rozendo@MegaDeth Disse:

    Veja que uma palavra se repete: ADODB. “DB” sabemos que vem de “database” (banco de dados), já o ADO é uma tecnologia proprietária da Microsoft que provê uma interface para o acesso aos dados armazenados em um banco de dados.
    Nao eh a tecnologia q eh proprietaria da microsoft i sim E UMA TECNOLOGIA DE PROPRIEDADE DA MICROSOFT. =)

  3. Ricardo Azevedo Disse:

    Quanto ao 3,3, o 1º 3 é o cursor estático, que permite navegar para a frente e para atrás, e o 2º 3 é o lock otimista. O default do ADO é 0,1 – 0 para cursor forward only e 1 para lock readonly.

  4. CARLA Disse:

    BOM EU NAO CONSIGO ENTENDER PORQUE ALGUMAS VEZES A GENTE MEXE TANTO MAIS O ACCESS NO QUE ABRIR SERA QUE É DEFEITO NO MEU COMPUTADOR OU NO ACCESS

Deixe um comentário