Manipulando o MS Access (.mdb) com PHP no FreeBSD

Publicado por Gilliatt Borges Bastos em 08/02/2011

[ Hits: 9.476 ]

Blog: http://gilliattbastos.beesoft.com.br/

 


Manipulando o MS Access (.mdb) com PHP no FreeBSD



Depois de muita pesquisa e testes cheguei a solução para acessar MDB com PHP. Essa solução foi montada em um FreeBSD 8 mais pode ser adaptada facilmente para outra plataforma.

Para ficar perfeita a instalação dos componentes necessários, nos teremos que fazer umas adaptações, principalmente no mdbtools. Isso porque a instalação do mdbtools pelo ports do FreeBSD não compila a biblioteca necessária para o ODBC fazer a conexão com o banco.

Vamos a instalação e configuração dos componentes.

# cd /usr/ports/database/unixODBC/
# make install clean


# cd /usr/ports/databases/php5-odbc/
# make install clean


Agora vamos instalar o mdbtools manualmente.

Nesse site você baixa a versão mais recente do mdbtools:
Documentação pode ser encontrada aqui:
# cd /usr/local
# tar xvzf mdbtools-0.6pre1.tar.gz
# cd mdbtools-0.6pre1
# ./configure -prefix=/usr/local -with-unixodbc=/usr/local
# make all && make install


Caso não acesse o banco com uma mensagem parecida com essa:

Warning: odbc_connect() [function.odbc-connect]: SQL error: [unixODBC][FreeTDS][SQL Server]Unable to connect to data source, SQL state S1000 in SQLConnect in ........ on line .......

Não foi possível acessar o banco

Warning: odbc_close(): supplied argument is not a valid ODBC-Link resource in ....... on line .......


Verifique se a instalação do mdbtools e que o caminho da biblioteca (libmdbodbc.so.0) está correta na configuração do driver.

Vamos fazer a configuração do odbcinst.ini:

# vi /usr/local/etc/odbcinst.ini

[MDB]
Description = Driver MDB para ODBC
Driver = /usr/lib/libmdbodbc.so.0
Setup =
FileUsage =
CPTimeout =
CPReuse =

# vi /usr/local/etc/odbc.ini

[TESTE]
Description = Microsoft Access Try DB
Driver = MDB
Database = /caminho/fisico/do/bando/teste.mdb
Servername = localhost
Username =
Password =
port = 5432

Vamos criar uma página para testar o acesso.

# vi teste_mdb.php

<?php
//phpinfo();

$db = odbc_connect("TESTE","","");

if($db){
   print "Acessando banco";
} else {
   print "Não foi possível acessar o banco";
}
odbc_close($db);
?>

Caso não acesse o banco com uma mensagem parecida com essa:

Warning: odbc_connect() [function.odbc-connect]: SQL error: [unixODBC][FreeTDS][SQL Server]Unable to connect to data source, SQL state S1000 in SQLConnect in ........ on line .......

Não foi possível acessar o banco

Warning: odbc_close(): supplied argument is not a valid ODBC-Link resource in ....... on line .......


Verifique a instalação do mdbtools e que a biblioteca (libmdbodbc.so.0) está com o caminho correto na configuração do driver.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Gerador do arquivo sources.list para Ubuntu

Problemas pós-instalação no Beryl

Banco do Brasil no Ubuntu 14.04 LTS - Permissão de acesso

Resolvendo bug do Pidgin sem som ao ouvir música no XMMS

Criando lançador (atalho) no GNOME 3 do Debian Wheezy

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts