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

Publicado por Gilliatt Borges Bastos em 08/02/2011

[ Hits: 10.547 ]

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

Customizando seu protetor de tela (gnome-screensaver)

Fazendo funcionar webcams, kernels novos (acima 2.6.26), aMSN, 32/64 bits

Remapear e/ou trocar teclas no Linux

O que fazer após instalar Fedora 32 Worksatation

Configurando cartão de memória na porta usb, no Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts