terça-feira, 14 de agosto de 2012

Conectando PHP com Access


Porque criar um tutorial para conectar um banco Microsoft Access no PHP?
Precisei realizar essa conexão para compor um script (gerar as SQL’s) de migração entre o banco Access e MySQL. Em alguns casos, já presenciei vários deles, uma empresa possui sistemas internos desenvolvidos em Access e implementados pelos próprios empregados – muitas vezes, não pertencentes a TI. Muitas transações e dados dessa empresa ficaram guardados no banco Access, que muitas vezes possui até uma Interface para manipulação. Porém, por necessidade, essa mesma empresa deseja disponibilizar esses dados na Internet, de tal forma que, quando atualizássemos os dados pelas interfaces Access, os mesmos estariam disponíveis na Internet. Daí, a necessidade de um servidor PHP (poderíamos trabalhar com ASP, Java, entre outros) com a conexão no banco pré-existente.

Enfim, vamos à configuração:
A conexão será realizada através do ODBC da Microsoft. Supondo que o banco esteja localizado em C:\banco_access\banco.mdb, execute:

  1. Clique no menu Iniciar
  2. Selecione a opção Painel de Controle no item Configurações
  3. Clique no ícone Desempenho e manutenção
  4. Clique na opção Ferramentas administrativas
  5. Clique na opção Fonte de dados (ODBC)
  6. Selecione a aba Fonte de dados do sistema
  7. Clique em adicionar...
  8. Selecione a opção Driver do Microsoft Access (*.mdb) e clique em Concluir
  9. Em nome da fonte de dados, defina BANCO
  10. Na sessão Banco de dados, clique em Selecionar...
  11. Selecione o arquivo localizado em C:\banco_access\banco.mdb
  12. Clique em OK
  13. Na janela Administrador de fonte de dados ODBC, clique em OK

A configuração ODBC do Windows já foi realizada, agora vamos ao exemplo de conexão com o PHP.

Manipulando os dados no Access
Para exemplificar a conexão, o ideal é que exista pelo menos uma única tabela em nosso banco. Abra o arquivo C:\banco_access\banco.mdb, na sessão Tabelas, selecione Criar tabela no modo estrutura. Neste recurso você poderá, facilmente, criar sua tabela.
Crie uma tabela similar ao exemplo abaixo: 


No Access, os domínios number e char podem ser substituídos, respectivamente, por Número e Texto (com definição do Tamanho do campo). Lembre-se de clicar com o botão direito na linha do campo id e indicar que o mesmo refere-se a uma chave primária. Salve a tabela como telefones.

Após a criação da tabela, dê um duplo clique na mesma para abrir a opção de manipulação dos dados. Vamos popular a tabela com alguns exemplos.

Script de conexão com Access pelo PHP
Através do código abaixo, podemos acessar o BANCO e a tabela telefones.

<?

$con = odbc_connect("BANCO","","")
or die("Não foi possível realizar a conexão!");

if ( $con ) {
$sql = odbc_exec($con,"SELECT * FROM telefones;");
echo "<table><tr><td><b>ID</b></td><td><b>Número</b></td></tr>";
while(odbc_fetch_row($sql)) {
echo "<tr>";
echo "<td>" . odbc_result($sql,"id") . "</td>";
echo "<td> (" . odbc_result($sql,"ddd") . ") ";
echo odbc_result($sql,"numero") . "</td>";
echo "</tr>";
}
echo "</table>";
}

?>

O resultado encontrado será:



Obrigado pela leitura.

Nenhum comentário:

Postar um comentário