Saltar al contenido

Conexión ODBC desde Linux a SQL Server

Establecer una cadena conexión ODBC desde Linux a SQL Server 2019 o 2022 permite a los desarrolladores interactuar con bases de datos Microsoft utilizando herramientas y lenguajes populares en el entorno Linux. Python, siendo uno de esos lenguajes, puede aprovechar esta conexión mediante bibliotecas específicas. A continuación, te mostrare paso a paso como configurar una cadena de conexion ODBC para sql server 2019 o 2022 desde una distribucion de linux como ubuntu o red hat linux.

En otros articulos cubrimos todos los tipos de Cadenas de conexion sql server pero en este punto te mostramos como configurar esta desde linux.

Índice

    Pasos para configurar una conexion ODBC desde linux

    ¡Claro! Si estás buscando establecer una conexión ODBC desde Linux a SQL Server 2019, aquí hay algunos pasos que puedes seguir:

    1. Instalar el controlador ODBC:
      Asegúrate de tener instalado el controlador ODBC adecuado para SQL Server en tu sistema Linux. Puedes utilizar el controlador ODBC Driver for SQL Server de Microsoft.
    2. Configurar el archivo odbc.ini:
      Edita el archivo odbc.ini para configurar la conexión. Este archivo generalmente se encuentra en el directorio /etc/.
       [NombreConexion]
       Driver      = ODBC Driver 17 for SQL Server
       Server      = NombreDelServidor
       Port        = PuertoDelServidor
       Database    = NombreDeLaBaseDeDatos
       UID         = TuUsuario
       PWD         = TuContraseña
    1. Configurar el archivo odbcinst.ini:
      También debes editar el archivo odbcinst.ini para especificar la ubicación del controlador ODBC.
       [ODBC Driver 17 for SQL Server]
       Description = Microsoft ODBC Driver 17 for SQL Server
       Driver      = /ruta/del/controlador/ODBC Driver 17 for SQL Server.so

    Asegúrate de proporcionar la ruta correcta al archivo .so del controlador.

    1. Probar la conexión:
      Utiliza el comando isql para probar la conexión desde la línea de comandos.
       isql NombreConexion TuUsuario TuContraseña

    Esto debería abrir un prompt de SQL donde puedes probar algunas consultas básicas para asegurarte de que la conexión está funcionando correctamente.

    Ejemplo Conexión ODBC desde Linux a SQL Server con python

    Primero, asegúrate de tener instaladas las bibliotecas necesarias. Puedes hacer esto mediante el siguiente comando:

    pip install pyodbc

    Ahora, puedes utilizar el siguiente código de ejemplo para conectarte a SQL Server desde Python en Linux:

    import pyodbc
    
    # Configuración de la conexión ODBC
    conexion_odbc = pyodbc.connect(
        'DRIVER={ODBC Driver 17 for SQL Server};'
        'SERVER=NombreDelServidor;'
        'DATABASE=NombreDeLaBaseDeDatos;'
        'UID=TuUsuario;'
        'PWD=TuContraseña;'
    )
    
    # Crear un cursor para ejecutar consultas SQL
    cursor = conexion_odbc.cursor()
    
    # Ejemplo: Consulta SQL SELECT
    cursor.execute("SELECT * FROM NombreDeLaTabla")
    
    # Recuperar los resultados de la consulta
    resultados = cursor.fetchall()
    
    # Imprimir los resultados
    for row in resultados:
        print(row)
    
    # Cerrar el cursor y la conexión
    cursor.close()
    conexion_odbc.close()

    Asegúrate de reemplazar las variables como NombreDelServidor, NombreDeLaBaseDeDatos, TuUsuario, TuContraseña, y NombreDeLaTabla con tus propias configuraciones y necesidades. puedes ver mas ejemplos de cadenas de conxion con mysql y la configuracion de las cadenas de conexion del postgresql con ejemplos, los cuales te darian una vision mas amplia del tema.

    Conclusion

    Este ejemplo utiliza la biblioteca pyodbc para establecer la conexión y ejecutar una consulta SELECT. Puedes adaptar este código según tus necesidades específicas, ya sea para realizar inserciones, actualizaciones u otras operaciones en tu base de datos SQL Server desde un entorno Linux utilizando Python.

    Recuerda ajustar las configuraciones según tus necesidades específicas, como el nombre del servidor, el puerto, la base de datos y las credenciales de inicio de sesión. ¡Espero que esto te sea útil!