Skip to main content

ImportError DLL load failed while importing ibm_db

· 2 min read
Héctor Mansilla Arias

Cuando ejecutas tu app en python, configuras todo y al probar la conexión a DB2 te encuentras con el siguiente error...

ImportError: DLL load failed while importing ibm_db

Luego de correr en círculos y revisar mil veces tu código te das cuenta que el error no es de tu App, lo que sucede es que por extraños motivos, el módulo IBM-DB no es capaz de leer la DLL necesaria para realizar la query en DB2.

Ok, ok ¿Y cómo solucionamos el problema?

Simple! Sólo debemos bajar el IBM Data Server Driver Package (DS Driver) desde la página de IBM, eliges el sistema operativo y descargas el instalador. acá tienes 2 opciones: Instalas o descomprimes el paquete descargado y extraes la carpeta bin en una ruta, la cual será fundamental más adelante. Por ejemplo:

C:\IBM\{ruta_por_defecto}\bin

Ahora, en nuestro script de Python, particularmente en la función de conexión y ejecución de las queries para DB2, incluímos las siguientes líneas al inicio del archivo. Estas líneas importan la librería SO y diponibiliza la DLL necesaria para IBM-BD.

import os
os.add_dll_directory('C:\IBM\{ruta_por_defecto}\bin')

La ruta ingresada corresponde al ejemplo, por favor cambia esa ruta según tus necesidades.

Finalmente, a cruzar los dedos y ejecutar tu App!