miércoles, 11 de septiembre de 2013

Conectar MSSQL con PHP en Linux


Se quiere desarrollar una aplicación web en un servidor LAMP que muestre un reporte tomando datos de una base de datos (SQL Server 2005) que se encuentra en un Microsoft Windows Server 2003 R2.

Primeros pasos

Antes que nada, SQL Server tiene que aceptar usuarios SQL y sería bueno crear uno nuevo con permisos de lectura.

Server Authentication

  1. Abrir el SQL Server Management Studio.
  2. Click derecho -> Properties
  3. Ir a la página "Security"
  4. Marcar "SQL Server and Windows Authentication mode"
  5. Reiniciar SQL
[img_assist|nid=192|title=SQL Server Authentication Mode|desc=|link=none|align=center|width=625|height=531]

Crear usuario

  1. Click derecho en Security -> New -> Login
  2. Escribir el nombre que querramos
  3. ... la contraseña...
  4. En User Mapping elegir la base de datos y el permiso que se quiera.. en este caso: db_datareader.
[img_assist|nid=193|title=Crear usuario en SQL Server 2005|desc=|link=none|align=center|width=563|height=350]

Ahora Linux

Instalar extensión MSSQL de PHP
yum install php-mssql
y de paso, freetds
yum install freetds
Con freetds instalado, ya podemos probar si la configuración del SQL Server nos permite una conexión remota y si el usuario creado puede autenticarse con él.
tsql -S sqlserver -U ax -P *********

Probar PHP

<?php
 
  $myServer = "sqlserver";
  $myUser = "ax";
  $myPass = "**********";
  $myDB = "dbtest";
 
  //connection to the database
  $dbhandle = mssql_connect($myServer, $myUser, $myPass)
    or die("Couldn't connect to SQL Server on $myServer");
 
?>

No hay comentarios:

Publicar un comentario