0% encontró este documento útil (0 votos)
81 vistas7 páginas

Pyodbc

pyodbc es un módulo de Python de código abierto que simplifica el acceso a bases de datos ODBC desde Python. Permite conectarse a bases de datos SQL y Microsoft Access y realizar operaciones como consultas, inserciones y actualizaciones. Se instala con pip e importa en Python para utilizarlo en scripts que interactúan con bases de datos.

Cargado por

jessirivera2802
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
81 vistas7 páginas

Pyodbc

pyodbc es un módulo de Python de código abierto que simplifica el acceso a bases de datos ODBC desde Python. Permite conectarse a bases de datos SQL y Microsoft Access y realizar operaciones como consultas, inserciones y actualizaciones. Se instala con pip e importa en Python para utilizarlo en scripts que interactúan con bases de datos.

Cargado por

jessirivera2802
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

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.

Si no arroja ningún error, entonces el paquete fue instalado de forma correcta

Uso de pyodbc con SQL

pyodbc es utilizado principalmente para desarrollar scripts en Python para consultar, manejar y
editar bases de datos.

Conexión al servidor SQL:

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.

Métodos de los cursores

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

conn = pyodbc.connect('DRIVER={Controlador ODBC para el servidor SQL};

SERVER='+servidor+';

DATABASE='+bddatos+';

UID='+usuario+';

PWD='+clave)

cursor = conn.cursor()

cursor.execute('select * from tracking_sales') # Se genera el cursor con el criterio

# de búsqueda o query

for fila in cursor.fetchall():

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.

cursor.execute("select user_name from users where user_id=?", userid)

row = cursor.fetchone()

if fila:

print(fila.user_name)
fetchall()
Devuelve una lista con todas las filas disponibles en el query.

cursor.execute("select user_id, user_name from users where user_id < 100")

rows = cursor.fetchall()

for fila in filas:

print(fila.user_id, fila.user_name)

commit()
Guarda los cambios hechos a la base de datos.

Uso de pyodbc con Microsoft Access


Existen dos controladores ODBC para Access oficiales. Estos son:

1. Microsoft Access Driver (*.mdb): Es la version antigua de 32 bits de los controladores


ODBC. Está incluida como estándar en las instalaciones de Windows. Funciona solo con
los archivos .mdb. Está oficialmente descontinuado.

2. Microsoft Access Driver (*.mdb,*.accdb): Es la nueva versión de los controladores


ODBC para Access. No está incluido con Windows, pero está incluido generalmente en
la instalación de Microsoft Office. También está disponible el paquete de instalación
independiente para los equipos que no tengan Office.

La forma mas adecuada de comprobar cual controlador se tiene disponible, es desde la


terminal de Python:

>>> import pyodbc


>>> [x for x in pyodbc.drivers() is x.startswith('Microsoft Access Driver')]

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

Con pyodbc.connect() se inicia la conexión a la base de datos. Recibe como parámetros


el nombre del controlador ODBC y la ruta en donde se encuentra la base de
datos .mdb o .accdb.

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

Dado que el puerto 1433 es el estándar conocido de SQL Server,


en algunas organizaciones se indica que conviene cambiar el
número de puerto de SQL Server para mejorar la seguridad.
Crear una regla en el marware de windos para abrir un puerto

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:

 Creación de una regla ICMP de entrada


 Creación de reglas de entrada para admitir RPC

Para crear una regla de puerto de entrada

1. Abra la consola de administración de directiva de grupo


para Windows Defender Firewall con seguridad avanzada.
2. En el panel de navegación, haga clic en Reglas de entrada.

3. Haga clic en Accióny, a continuación, haga clic en Nueva


regla.

4. En la página Protocolo y puertos , seleccione el tipo de protocolo que


desea permitir. Para restringir la regla a un número de puerto especificado,
debe seleccionar TCP o UDP. Dado que se trata de una regla entrante,
normalmente solo se configura el número de puerto local.

Si selecciona otro protocolo, solo se permiten los paquetes cuyo


campo de protocolo en el encabezado IP coincida con esta regla a
través del firewall.

Para seleccionar un protocolo por su número,


seleccione Personalizado en la lista y escriba el número en el
cuadro Número de protocolo .

Cuando haya configurado los protocolos y puertos, haga clic


en Siguiente.

5. En la página Ámbito , puede especificar que la regla solo se aplica al tráfico


de red hacia o desde las direcciones IP especificadas en esta página.
Configure según corresponda para el diseño y, a continuación, haga clic
en Siguiente.

También podría gustarte