Conectando Banco de Dados MS SQL Protheus com PHP – Parte 2
Existem duas formas de se conectar ao SQL Server com PHP:
- Conexão ODBC
- Conexão nativa do PHP – mssql_connect()
1. Usando a conexão ODBC
Esta conexão é muito utilizada quando não temos a conexão nativa, seu uso é bem simples, cria-se a conexão ODBC igual a que já criamos para acesso ao Protheus.
Sintaxe:
1 2 3 4 5 6 7 8 9 10 11 |
<? $conexao = odbc_connect("DRIVER={SQL Server}; SERVER=servidor; DATABASE=bancodedados;", "usuario","senha"); $consulta = "SELECT * FROM bancodedados.dbo.tabela"; $resultado = odbc_exec($conexao, $consulta) while($campos = odbc _fetch_array($resultado)) { echo $campos['campo'].'<br>'; } ?> |
2. Usando conexão nativa do PHP
A conexão utilizada é a mssql_connect(), para que esta funcione é preciso que a extensão php_pdo_mssql esteja habilitada
Sintaxe:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<?php //$Servidor = "tcp:SUA-ESTACAO\SQLEXPRESS"; //Conectando num servidor SQL Express $Servidor = "tcp:200.168.12.1"; $connectionOptions = array( "Database"=>"BANCODADOS", "UID"=>"USUARIO", "PWD"=>"SENHA"); $conexao = sqlsrv_connect( $Servidor, $connectionOptions ); if (!$conexao) { var_dump(sqlsrv_errors()); } $consulta = "SELECT top 8 * from SF4010 WHERE D_E_L_E_T_ = ''"; /* Executa a consulta. */ $resultado = sqlsrv_query( $conexao, $consulta ); echo ' <table border="1"> <tr> <td><b>TES</b></td> <td><b>Descrição</b></td> </tr> '; /* Procura e exibe o conteudo da tabela. */ while( $campos = sqlsrv_fetch_array( $resultado ) ) { echo ' <tr> <td>'.$campos['F4_CODIGO'].'</td> <td>'.$campos['F4_FINALID'].'</td> </tr>'; } echo '</table>'; /* libera os recursos de conexao. */ sqlsrv_free_stmt( $resultado ); sqlsrv_close( $conexao ); ?> |
Neste pequeno exemplo o resultado ficaria assim:
É muito simples a conexão, podemos criar pequenas aplicações de consulta/inclusão/alteração/exclusão, acessando o banco de dados do Protheus, mas lembre-se que as validações que existem no sistema, os pontos de entradas e outras regras não se aplicam, por tanto, seja cauteloso na manipulação dos dados e na segurança de suas informações. Eu recomendo utilizar para consultas e relatórios, não estaremos consumindo licenças.
Uma outra coisa interessante é criar webservices para acessar o banco e preferencialmente não deixe o PHP no mesmo server do banco de dados, é uma questão de segurança.
Num próximo artigo, irei mostrar uma aplicação mais robusta, e até a próxima.
2 comentários
nossa, estava procurando por isso, temos apenas 20 licenças e 40 usuarios, instalei aqui e funcionou perfeitamente. ja estamos montando relatorios. valeu pela dica
precisando de mais dicas entre em contato conosco.