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

Publicado por Gilliatt Borges Bastos em 08/02/2011

[ Hits: 9.550 ]

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

Como habilitar sombras no MATE Desktop 1.6

Pipelight Flash no Ubuntu

Powertweak-gtk: ajuste seu hardware nos Debian-like

Instalar driver qca9377 no Ubuntu e derivados

Servidores Apache em Linux derivados do Debian

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário