Acesso a conexões ODBC com PHP

ODBC (Open Data Base Conectivity) é um padrão para acesso a banco de dados. Através do ODBC, podemos acessar diversas bases de dados, com diferentes linguagens de programação, utilizando uma única API.

Neste post vou mostrar como se conectar a um banco de dados utilizando ODBC através do PHP.

Para isto, utilizaremos um DSN (Data Source Name), ou seja, precisaremos criar uma fonte de dados para que o PHP possa se conectar através dela. Utilizaremos um banco de dados MDB com apenas uma tabela de exemplo:

Tabela: Regiões.

Campos: Codigo, Regiao.

A tabela regiões armazenará as regiões do Brasil, juntamente com um código.

Mãos a obra!

1) Criando a conexão

Para criar uma conexão DSN, vamos acessar o administrador de conexões ODBC do Windows. Ele deve ser executado com privilégios administrativos e fica localizado na pasta:

%systemroot%\system32\odbcad32.exe

Após acessá-lo, será aberta então a janela do ODBC Administrator.

Vamos até a aba “Fontes de dados do sistema” e vamos adicionar uma nova fonte de dados com o nome de “db_regioes”, apontando para nosso banco de dados (banco.mdb).

Pronto, a conexão está criada!

2) Conectando-se através do PHP

Para se conectar através do PHP, vamos utilizar a função odbc_connect() passando como parâmetro o nome do DSN criado.

<?php

$conexao = odbc_connect(“db_regioes”, “”, “”);

?>

3) Executando consultas

Para executar consultas, sejam elas, inserções, atualizações ou pesquisas, utilizamos a funcao odbc_exec().

A função odbc_exec() recebe como parâmetros a conexão ativa e também o comando SQL da consulta.

Vamos então executar uma consulta a todas as regiões cadastradas:

<?php

$sql = “SELECT * FROM regioes ORDER BY Regiao”;

$consulta = odbc_exec($conexao, $sql);

?>

4) Obtendo os registros

Após realizar a consulta, precisamos obter os registros encontrados. Para isto, utilizaremos a função odbc_fetch_array(). Esta função converte o resultado da consulta em um array associativo onde cada chave é o nome de um campo. Para buscar todos os registros encontrados, vamos utilizar um laço while juntamente com esta função. Após isto, vamos exibir os resultados:

<?php

while ($resultado = odbc_fetch_array($consulta)){

echo ‘<p>’ . $resultado[‘Regiao’] . ‘</p>’;

}

?>

5) Finalizando

Após realizar todas as operações, vamos fechar a nossa conexão. Para isto, utilizaremos a função odbc_close().

<?php

odbc_close($conexao);

?>

O código completo juntamente com o banco de dados pode ser baixado AQUI.

Simples assim! Até a próxima 😉