A biblioteca ODBTP serve para acessar datasources ODBC remotamente. Um servidor é instalado no computador windows onde estão as fontes de dados odbc e um cliente é instalado no computador que vai acessar o odbc, sendo que o computador cliente pode ser Linux.
Neste exemplo será configurado o servidor ODBTP em uma máquina rodando windows server 2003, com uma fonte de dados que acessa uma base access (MDB). Essa base será acessada via PHP em uma máquina Linux rodando Ubuntu Server 9.04.
Para iniciar baixe o ODBTP do site odbtp.sourceforge.net. A versão nesta data é a 1.1.4. Este mesmo arquivo será usado para instalar o serviço no windows e para instalar o client no Linux.
Instalação do ODBTP server no windows
Após descompactar o arquivo baixado, execute os seguinte procedimentos:
- Copie os arquivos
odbtpctl.exe,odbtpsrv.exeeodbtpsrv.inique estão no diretóriowinservicepara um diretório de sua preferência. - Abra o prompt de comando e acesse o diretório para onde foram copiados os arquivos.
- Execute os seguinte comandos para instalar e iniciar o serviço:
odbtpctl install
odbtpctl start
Feito isso o serviço do odbtp está instalado e funcionando no windows. No site do odbtp existe uma documentação completa sobre os parâmetros que pode ser setados no servidor mas as opções padrão deverão ser suficientes.
Instalação do ODBTP client no linux
Agora vamos instalar o cliente no linux. O mesmo arquivo baixado anteriormente contem os fontes para linux. Vamos extrair e instalar:
# tar xzf odbtp-1.1.4.tar.gz
OBS: para computadores com sistema operacional 64 bits é necessário editar o arquivo odbtp.h e descomentar a seguinte linha:
/* #define _C_LONG_64_ 1 */
deve ficar:
#define _C_LONG_64_ 1
Caso isso não seja feito, ao tentar fazer uma conexão, um erro do tipo “invalid response” ocorrerá.
#./configure
#./make
#./make install
Agora vamos instalar o módulo/extensão odbtp para PHP usando pecl.
#sudo pecl install odbtp
Teoricamente isso deveria funcionar, no entanto eu tive problemas pois o instalador não encontrava o caminho do client odbtp que acabamos de instalar acima. Para resolver basta fazer a instalação manualmente.
O comando pecl install odbtp baixa o arquivos no diretório /tmp/pear/download/odbtp-1.1.4, basta acessar o diretório e fazer a instalação manualmente.
# ./configure
#./make
#./make install
Feito isso a extensão odbtp.so será copiada para o diretório de extensões do PHP. Agora basta habilitar a extensão. Crie um arquivo da seguinte forma:
#sudo vi /etc/php5/conf.d/odbtp.ini
Com o seguinte conteúdo:
extension=odbtp.so
Agora basta verificar usando a função phpinfo() para ver se o módulo foi habilitado.
Agora é necessário configurar a fonte de dados no Linux. Por padrão isso é feito no arquivo /usr/local/share/odbtp.conf.
Vamos criar uma entrada:
[nome_usado_no_php]
type = dsn
database = nome_dsn_no_windows
#convert datetime = yes
No site do odbtp tem instruções sobre como fazer conexões usando PHP.
Referências:
http://odbtp.sourceforge.net