2
respostas

ERRO DE PHP “Uncaught Error: Call to undefined function sqlsrv_connect()” ao conectar

Boa noite, estou desenvolvendo uma aplicação PHP utilizando SQL Server porém não estou conseguindo realizar a conexão com o banco. Já baixei o driver, já coloquei as dlls no ini do PHP, já baixei o ODBC, já direcionei a pasta no ini, já tentei varias codificações e todos me resultam nesse mesmo erro. Tenho um prazo curto e não estou conseguindo conectar, alguém poderia por gentileza me ajudar?

Estou usando SQL2012, Driver SQLSRV PHP 43 com xampp, PHP 7.1.9

Esse é o codigo:

<?php

// Dados do banco
$dbhost   = "nomedomeuddns.ddns.net\INSTANCIA,8091";   #Nome do host
$db       = "IntegracaoDB";   #Nome do banco de dados
$user     = "sa"; #Nome do usuário
$password = "Senha123";   #Senha do usuário

$conninfo = array("Database" => $db, "UID" => $user, "PWD" => $password);
$conn = sqlsrv_connect($dbhost, $conninfo);



?>
2 respostas

Boa tarde.

Já tive problemas com de integração entre PHP e SQLServer.

Você já verificou se a biblioteca está ativa no PHP.ini?

Você também mencionou que instalou o ODBC, você chegou a configurar o ODBC? Se sim, tente se conectar utiliando odbc_connect() esse método funcionou para mim.

Referência: http://php.net/manual/pt_BR/function.odbc-connect.php

Espero ter ajudado.

No Windows, no menu de Ferramentas Administrativas, você tem um item chamado Fonte de Dados. Utilizando ele, você pode criar um DSN para seu banco SQL. Aqui tem uma explicação:

http://www.dicasquefunfa.com.br/2012/08/acessar-e-configurar-odbc-no-windows-7.html

Depois de criar o DSN, se o ODBC estiver ativo em sua instalação PHP, basta usar o nome DSN para fazer a conexão. Exemplo:

$conn=odbc_connect('<<NOME_DO_DSN>>','<<LOGIN>>,'<<SENHA>>');    
$StrSQL = "select * FROM minha_tabela";
$resultado =  odbc_exec($conn, $StrSQL);    
while($linha = odbc_fetch_array($resultado)){
    //Programação para ler os resultados
}