19/07/2012

Php + MS SQL (ODBC)

Como usar php para comunicar com MS SQL através de ODBC num sistema linux ubuntu.


1. Instalar os seguintes packages.
sudo apt-get install php5-odbc
sudo apt-get install unixodbc unixodbc-dev freetds-dev sqsh tdsodbc
2. Editar o ficheiro de configuração do FreeTSD.
sudo vi /etc/freetds/freetds.conf
O ficheiro contem alguns exemplos de configuração, editar um deles para o seguinte:
[sqlserver]
host = ip address
port = 1433
tds version = 7.0
*nota: sqlserver é o nome que foi dado neste exemplo de configuração.
3. Pode-se testar a ligação com o seguinte comando.
sqsh -S ip.add.ress -U username -P password
4. Se testarem a ligação podem tentar o seguinte comando e assim verificar se está tudo bem com a base de dados.
1> select * from databasename.dbo.table
2> go
5. Editar ficheiros de configuração ODBC. Para verificar onde se encontram os ficheiros pode usar o seguinte comando.
odbcinst -j
6. Editar o ficheiro /etc/odbcinst.ini (é provável que esteja em branco quando o abrir) e adicionar o seguinte.
[FreeTDS]
Description = TDS Driver (Sybase/MS SQL)
Driver = /usr/lib/odbc/libtdsodbc.so
7. Editar o ficheiro /etc/odbc.ini (é provável que esteja em branco quando o abrir) e adicionar o seguinte.
[datasourcename]
Driver = FreeTDS
Description = Test Description
Trace = No
Server = ip address
port = 1433
Database = dbname
8. Testar ligação com php.
$connection = odbc_connect('datasourcename', 'username', 'password');
if (!$connection) die('Ligação falhada!');
else echo 'Ligação efectuada com sucesso';
Esta solução é baseada no seguinte artigo.

Sem comentários:

Enviar um comentário