martes, 16 de septiembre de 2014

MSSQL vs sqlsrv

El controlador de SQL Server para PHP (también llamado el " sqlsrv conductor "para él es prefijo API) ha estado disponible desde julio de 2008, pero todavía a menudo ver el conductor" viejo "(el" mssql driver ") que se utiliza para conectarse a SQL Server desde scripts PHP. Muchos de los tutoriales que me encuentro y muchas de las preguntas que veo en los foros indico que muchas personas siguen utilizando el driver mssql a pesar de que ya no está bajo desarrollo activo . En este post quiero empezar a mirar algunas de las diferencias entre los dos drivers y tal vez obtener una comprensión de por qué el driver mssql sigue siendo utilizado (aunque tengo algunas buenas conjeturas). Hay un montón de puntos de comparación entre los mssql y SQLSRV conductores. Voy a romper mi comparación en dos puestos, centrándose en las diferencias de alto nivel en este post y luego sumerjo en una comparación API en el próximo post.

Voy a empezar por decir lo obvio: los mssql y SQLSRV conductores no son una y la misma. Lo sentimos, pero en realidad creo que necesitaba ser declarado explícitamente. Seguramente me estoy recogiendo las liendres, pero a menudo ver mssql y sqlsrv utilizan indistintamente, o al menos eso es lo que creo que veo. Tal vez la gente está utilizando mssql como una forma abreviada de Microsoft SQL Server y no el propio controlador (o tal vez estoy confundido fácilmente), pero la confusión hace que me pregunto si las personas son realmente conscientes de las diferencias clave:

  • El driver sqlsrv está construida, mantenida, y soporte de Microsoft. Ha habido dos versiones del controlador (v1.0 y v1.1), así como actualizaciones acumulativas para liberar mejoras. Las diferentes versiones de los archivos binarios (dependiendo de la versión de PHP está ejecutando) están disponibles aquí: controlador de SQL Server para PHP 1.1 . El código fuente está disponible en CodePlex en http://sqlsrvphp.codeplex.com/ . 
  • El driver mssql es un controlador integrado en la comunidad. No estoy seguro de cuánto tiempo hace que este controlador se actualiza o se mantiene como una extensión oficial de PHP, pero a partir de la liberación de PHP 5.3 , ya no está disponible con PECL . Una búsqueda rápida en internet aparecen pocos lugares para descargar el mssql conductor, pero ninguno de los que he encontrado indican que el conductor se mantiene activa.

Las tecnologías subyacentes para los dos pilotos son diferentes. (Ver diagrama 1.)

o    El sqlsrv conductor se basa en ODBC, que se mantiene activa por Microsoft y proporciona acceso a las características de las últimas versiones de SQL Server.

o    El mssql conductor se basa en DB Lib (es decir, que requiere ntwdblib.dll ) si está ejecutando PHP en Windows. DB Lib ya no es compatible con Microsoft
 
o    Si está ejecutando PHP en Linux, el mssql controlador está integrado en FreeTDS .

Este último punto nos lleva a una última diferencia importante: el mssql conductor hace proporcionar conectividad a SQL Server desde Linux . Dicho esto, parece que Microsoft está considerando el soporte ODBC en plataformas que no son de Microsoft, lo que equivale al apoyo a la sqlsrv controlador de Linux. Ver uno de mis posts anteriores para obtener más información: Conexion de Linux a SQL


Esas son las diferencias de alto nivel entre el mssql y SQLSRV controladores .Si está utilizando el mssql controlador en Windows, estaría interesado en comprender por qué (en contraposición a la sqlsrv conductor).

3 comentarios:

  1. Vaya pesima traduccion. Aqui el articulo original:

    https://blogs.msdn.microsoft.com/brian_swan/2010/03/08/mssql-vs-sqlsrv-whats-the-difference-part-1/

    ResponderEliminar
  2. Vaya pesima traduccion. Aqui el articulo original:

    https://blogs.msdn.microsoft.com/brian_swan/2010/03/08/mssql-vs-sqlsrv-whats-the-difference-part-1/

    ResponderEliminar
    Respuestas
    1. Si tienes razón este articulo debería tener una referencia al original como minimo .

      Eliminar