• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Blog Gabriel de Bonis

Web Developer, Qlik, Freelancer, IOS & Android Developer

  • Servidores
  • Programación Web
  • Tecnología
  • SharePoint
  • Podcast Bonistir
  • Tecno Arcade

Conectar a MS SQL Server en PHP desde Ubuntu Server 18.04

08/04/2019 by Gabriel Deja un comentario

En determinadas ocasiones puedes necesitar conectarte a una BD de Microsoft SQL Server desde un servidor Linux por ODBC.

En este post explico como configurar el driver y la conexión para que puedas conectarte en una pagina web en PHP desde un servidor Ubuntu

Lo primero que debemos hacer es instalar los paquetes necesarios:

apt-get install freetds-bin freetds-common freetds-dev tdsodbc odbcinst unixodbc unixodbc-dev odbcinst1debian2 php7.1-odbc
mv /etc/odbcinst.ini /etc/odbcinst.ini.bak
cp /usr/share/tdsodbc/odbcinst.ini /etc/

Una vez instalados los paquetes necesarios ahora toca editar los ficheros de configuracion.

nano /etc/freetds/freetds.conf

Añadimos al final del fichero:

# Servidor Microsoft SQL Server
[MSSQlServer]
host = IP_Servidor_SQL_Server
port = 1433
tds version = 8
client charset = UTF-8

Luego editamos este fichero de configuración del driver:

nano /etc/odbcinst.ini

Y ponemos la siguiente información

[FreeTDS]
 Description=TDS driver (Sybase/MS SQL)
 Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
 Setup=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
 CPTimeout =
 CPReuse 

Y por último editamos este fichero:

nano /usr/local/etc/odbc.ini

Y añadimos la siguiente información:

[FreeTDS-MyDB]
Driver = FreeTDS
Description = MS SQL conexion a tu BD
Trace = No
ServerName = IP_De_Tu_Servidor_SQL_Server
Port = 1433
Database = Nombre_BD
TDS_Version = 8

Ahora ya nos queda probar la conexion desde nuestra pagina en PHP:

try {

    //connection params
    $dbCon = new PDO('odbc:Driver=FreeTDS; Server=my_server_host; Port=1433; Database=my_database; TDS_Version=7.4; ClientCharset=UTF-8', 'my_login', 'my_pass');

    //test query
    $result = $dbCon->query('SELECT TOP 10 * FROM dbo.my_table');

    //show the results
    foreach ($result as $row)
    {
        print_r( $row );
    }

    //close the connection
    $dbCon = null;

} catch (PDOException $e) {

    //show exception
    echo $e->getMessage();

}

Comparte esto:

  • Haz clic para compartir en Facebook (Se abre en una ventana nueva) Facebook
  • Haz clic para compartir en X (Se abre en una ventana nueva) X
  • Haz clic para compartir en LinkedIn (Se abre en una ventana nueva) LinkedIn
  • Haz clic para compartir en Tumblr (Se abre en una ventana nueva) Tumblr
  • Haz clic para compartir en WhatsApp (Se abre en una ventana nueva) WhatsApp
  • Haz clic para compartir en Telegram (Se abre en una ventana nueva) Telegram

Me gusta esto:

Me gusta Cargando...

Publicado en: Programación Web, Servidores

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Tecno Arcade

Tecno Arcade

Tecno Arcade

Archivos

Feed RSS RSS: Entradas

Feed RSS RSS: Comentarios

Paginas

  • Política de Privacidad

Copyright © 2025 · Genesis Sample Theme on Genesis Framework · WordPress · Acceder

%d