Pyodbc
Pyodbc
pyodbc es un módulo de Python de código abierto que simplifica el acceso a las bases de datos
ODBC desde Python, implementando el uso de la DB API 2.0 de una forma conveniente para
Python. pyodbc también es considerado como un controlador SQL para Python.
Instalar pyodbc
Para instalar pyodbc se utiliza el instalador de paquetes de Python, pip, desde la terminal del
sistema, con la siguiente linea de código:
Esto es igual para cualquier sistema. Se puede comprobar que el módulo fue instalado de forma
correcta iniciando la terminal de Python e importando el módulo con import.
pyodbc es utilizado principalmente para desarrollar scripts en Python para consultar, manejar y
editar bases de datos.
import pyodbc
'''
Otros posibles nombres de servidores pueden ser
servidor = 'localhost\sqlexpress' # para casos específicos
servidor = 'miservidor,puerto' # para especificar un puerto alterno
'''
servidor = 'puerto:servidor.base.sql' # Nombre del servidor SQL con el cual se hará la conexión
bddatos = 'mibdd' # Nombre de la base de datos SQL
usuario = 'username' # Nombre del usuario de SQL
clave = 'clave' # Contraseña del usuario de SQL
conn = pyodbc.connect('DRIVER={Controlador ODBC para el servidor SQL};
SERVER='+servidor+';
DATABASE='+bddatos+';
UID='+usuario+';
PWD='+clave)
'''
pyodbc.connect() inicia la conexión con el servidor SQL
tomando como argumentos, en orden,:
- El nombre del controlador SQL
- El servidor al cual se hará la conexión
- El nombre de la Base de datos que será consultada
- El nombre de usuario que tiene acceso a la base de datos
- La contraseña del usuario que accede a la base de datos
'''
cursor = conn.cursor() # se crea el cursor para la conexión
Cursor
Un cursor en una base de datos es el objeto que es utilizado para manejar el contexto de una operación
de consulta.
execute()
Con la función ‘execute(sql,*parametros)’ se ejecuta expresión SQL especificada en el primer argumento, tomando en
cuenta los parámetros especificados en el segundo argumento. Siempre devuelve el mismo cursor. Ejemplo:
import pyodbc
SERVER='+servidor+';
DATABASE='+bddatos+';
UID='+usuario+';
PWD='+clave)
cursor = conn.cursor()
# de búsqueda o query
print(row)
fetchone()
Devuelve la siguiente fila disponible en el query, o ‘None’ en el caso de que no queden datos
disponibles. En caso de que no se haya ejecutado ningún SQL.
row = cursor.fetchone()
if fila:
print(fila.user_name)
fetchall()
Devuelve una lista con todas las filas disponibles en el query.
rows = cursor.fetchall()
print(fila.user_id, fila.user_name)
commit()
Guarda los cambios hechos a la base de datos.
De esta forma se obtiene el nombre del controlador ODBC para Access instalado.
Conexión con base de datos Access desde Python
import pyodbc
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb,*.accdb)};
DBQ=C:\ruta\base\de\datos;')
cursor = conn.cursor() # Se crea el cursor
for fila in cursor.fetchall():
print(fila) # Se imprimen las filas de la base de datos
Al igual que con a una base de datos SQL, las operaciones se hacen con el cursor y los
métodos del cursor (execute, fetchall, fetchone, commit).
https://project2080.com/como-conectar-python-con-sql-server/
puerto de red que trabaja sql
Para permitir el tráfico de red entrante solo en un número de puerto TCP o UDP
especificado, use el nodo Firewall de Windows Defender con seguridad avanzada en el
complemento MMC de administración de directiva de grupo para crear reglas de firewall.
Este tipo de regla permite que cualquier programa que escuche en un puerto TCP o UDP
especificado reciba el tráfico de red enviado a ese puerto.
Credenciales administrativas
Para completar estos procedimientos, debe ser miembro del grupo Administradores de
dominio o, de lo contrario, tener permisos delegados para modificar los GPO.
En este tema se describe cómo crear una regla de puerto estándar para un protocolo
especificado o un número de puerto TCP o UDP. Para ver otros tipos de reglas de puerto de
entrada, consulte: