Como ligar o PHP a uma base-de-dados MS SQL Server 2014 Express

Como criar uma ligação via PHP a um servidor de base-de-dados Microsoft SQL Server 2014 Express localmente usando a ODBC sem DSN (Database Source Name).

Como ligar o PHP a uma base-de-dados MS SQL Server 2014 Express

Neste “How-to”, ensino como fazer uma ligação a um servidor de base-de-dados Microsoft SQL 2014 Express local via PHP usando as funções ODBC (Open Database Connectivity) sem DSN explícito.

O desafio: ligar o PHP ao SQL Server

Recentemente, foi-me pedido para criar uma aplicação de gestão de pedidos de assistência. A questão é que o servidor de base-de-dados da empresa é um SQL Server da Microsoft e a aplicação antiga está em ASPX.

Ora a minha área sempre foi o PHP e o MySQL, e deram-me liberdade para programar em PHP. Só que alterar a base-de-dados para MySQL era impossível porque existe outro software que se alimenta do mesmo SQL Server.

Portanto, o desafio era “simples”: ligar o PHP a um servidor SQL Server.

Como montar um ambiente de desenvolvimento PHP – MS SQL Server local

Para poder trabalhar no meu computador sem colocar em risco a BD em produtivo, montei um ambiente de desenvolvimento local.

Para desenvolver e testar scripts e programas em PHP, costumo usar o WAMP portátil Uniform Server. E para ter um servidor de BD MS SQL Server fiz o download da versão 2014 Express e instalei-a no meu PC.

Como criar uma ligação PHP a uma base-de-dados MS SQL Server 2014 Express local

Como nunca tinha experimentado este tipo de ligação anteriormente, fui pesquisar. E aí é que o “simples” se tornou complicado. Tudo o que encontrei ou estava desactualizado ou não explicava bem. Aparentemente, tanto a Microsoft como o PHP já tiveram várias versões de drivers, extensões e funções respectivas para se fazerem ligações PHP-MS SQL Server.

Depois de várias tentativas falhadas, lá acabei por encontrar a maneira de conseguir ligar o PHP (versão 5.4) a um servidor de base-de-dados local Microsoft SQL Server 2014 Express.

Temos de usar as funções ODBC (Open Database Connectivity – Conexão Aberta a Bases-de-dados -, uma API para DBMS Database Management Systems – sistemas de gestão de base-de-dados – desenhada para ser o mais independente possível de sistemas de BDs e sistemas operativos) que são compatíveis com as versões 4 e 5 do PHP, como podem verificar na página da função odbc_connect() do Manual oficial do PHP

Aqui está, então, o código PHP para criar uma ligação a um servidor SQL Server 2014 Express local.

< ?php // Substituir o valor destas varíaveis com os vossos valores $user = 'username'; $pass = 'password'; $server = 'serverName\instanceName'; $database = 'database'; $connection_string = "DRIVER={SQL Server};SERVER=$server;DATABASE=$database"; // Não é preciso mudar nada a partir de agora $conn = odbc_connect($connection_string,$user,$pass); if ($conn) { echo "Ligação ao SQL Server estabelecida."; } else{ die("Incapaz de estabelecer ligação ao SQL Server."); } ?>

Reparem que a variável $connection_string é preenchida sem um DSN explícito (DRIVER={SQL Server}). Foi a forma que encontrei para conseguir fazer a conexão à versão 2014 Express do MS SQL Server. Para as versões (SQL 7, 2000, 2005 e 2008) do SQL Server que usem o driver ODBC SQL Native Client 10.0, o valor da variável $connection_string deverá ficar assim atribuído:

$connection_string = odbc_connect("Driver={SQL Server Native Client 10.0}

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Como ligar o PHP a uma base-de-dados MS SQL Server 2014 Express, 10.0 out of 10 based on 1 rating

Comentários

comentários