Conectando Banco de Dados MS SQL Protheus com PHP - Parte 2
22/09/2014
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:
$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'].'
';
}
?>
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:
"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 '
TES |
Descrição |
';
/* Procura e exibe o conteudo da tabela. */
while( $campos = sqlsrv_fetch_array( $resultado ) )
{
echo '
'.$campos['F4_CODIGO'].' |
'.$campos['F4_FINALID'].' |
';
}
echo '
';
/* 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.