Olá pessoal. Hoje vamos falar de uma coisa pouco comum e também por isso, meio chato de se encontrar informações sobre. Esta semana tivemos uma demanda que era converter alguns curso que funcionavam a partir do seguinte tripé:

HTML >> ASP >> Access

Este acesso era feito dentro de um curso para EAD. Como muitos servidores são desenvolvidos em Linux era necessário retirar o ASP e o ACCESS e transformálos em um acesso mais amigável como o XML ou JS.

Optamos por transportar os dados do Access para o JS pois iria requerer menos tempo de desenvolvimento (tendo em vista que muitas informações do HTML já são processadas por JSs inclusive a gravação de dados no padrão SCORM). A partir dessa definição inicial, o que precisávamos era transpor o banco Access para o JS. Para que isso fosse possível tínhamos duas opções:

1. Copiar os valores manualmente
2. Desenvolver um aplicativo que fizesse isso automaticamente

Optamos pela segunda opção e resolvemos desenvolver um aplicativo em PHP para isso. Mas como acessar o Access a partir do PHP?

A parte prática é bem simples. Basta abrir a conexão com o banco, executar o SQL que irá extrair os dados e imprimir na tela. Veja abaixo um exemplo do código necessário:

<?php

$con = odbc_connect(‘questoes’,”,”);
if (!$con)
{
exit(“Connection Failed: ” . $conn);
}
$query = “SELECT * FROM questoes”;
$exec = odbc_exec($con,$query);
$i = 0;

while(odbc_fetch_row($exec))
{
$campo1 = odbc_result($exec,1);
echo $campo1;
}

?>

Bem, na teoria seria apenas fazer isso e pronto. Verificamos o código e o mesmo está certo. Irá imprimir o conteúdo da primeira coluno (neste caso, o Access é One based, ou seja, a sua primeira coluna começa no 1). Mas no Windows XP isso simplesmente não funcionava. Fui pesquisar e descobri que era necessário utilizar a ferramenta “Fontes de ODBC” presente dentro das ferramentas administrativas (Painel de Controle / Ferramentas Administrativas / Fontes de Dados ODBC) e linkar o banco que se quer acessar para que o PHP possa reconhecer o banco.

O passo a passo é descrito abaixo:

1. Abra o Administrador de Fontes de Dados (ODBC).
passo1.gif

2. Selecione a aba Fonte de dados de sistema
passo2.gif

3. Clique no botão Adicionar
passo3.gif

4. Selecione Microsoft Access Driver e clique em Concluir
passo4.gif

5. Dê um nome para a fonte de dados, no nosso caso, “questoes” e então clique em Selecionar e selecione o banco de dados.
passo5.gif

6. Clique em OK e tente acessar o sistema novamente. Agora você já será capaz de acessar o Access através do PHP.

Espero ter te ajudado. Abraços e até a próxima.