- Instalar pré-requisitos:
apt-get install apache2 php5 libapache2-mod-php5 php5-mssql unixodbc unixodbc-dev freetds-dev tdsodbc freetds-bin
- Configurar /etc/freetds/freetds.conf, adicionando:
[tds] host = IP_DO_SERVIDOR_MSSQL port = 1433 tds version = 8.0 #Porta padrão para MSSQL client charset = UTF-8
- Configurar /etc/odbcinst.ini, adicionando:
[tds] Description = FreeTDS Driver for Linux & MSSQL on Win32 Driver = /usr/lib/odbc/libtdsodbc.so Setup = /usr/lib/odbc/libtdsS.so UsageCount = 1
- Configurar /etc/odbc.ini, adicionando:
[tds] Description = Test to freeTDS Driver = tds Trace = No Database = BANCO_DE_DADOS Server = IP_DO_SERVIDOR_MSSQL Port = 1433 #Porta padrão para MSSQL
- Testar a conexão:
isql -v tds USUARIO_DO_DB PASS_DO_DB #retornará: o prompt SQL "SQL>"
- Ativar o módulo ODBC em PHP5 (/etc/php5/apache2/php.ini), adicionando:
extension = odbc.so
- Reiniciar o Apache:
/etc/init.d/apache2 restart
- Testar a consulta em PHP, criando um script PHP como o seguinte:
<?php //teste_de_coexao.php echo "<table>"; $link = mssql_connect('IP_DO_SERVIDOR_MSSQL', 'USUARIO_NO_DB', 'PASS_NO_DB'); if (!$link) { die('Unable to connect!'); } if (!mssql_select_db('BANCO_DE_DADOS', $link)) { die('Unable to select database!'); } $result = mssql_query('SELECT * FROM TABELA'); while ($row = mssql_fetch_array($result)) { echo "<tr><td>NA: " . $row['numero'] . "/" . $row['ano'] . "</td><td> Solicitante: " . $row['solicitante'] . "</td></tr>"; } echo "</table>"; mssql_free_result($result); ?>
Acesse o site para verificar se o resultado esperado foi retornado.
Se tiver problemas com charset:
http://www.rafaeltheodoro.com.br/php/converter-codificacao-do-sqlserver-para-o-mysql-em-php-charset-cp850-do-sqlserver-para-mysql/comment-page-1/
Nenhum comentário:
Postar um comentário