Python - Error conexión a access

 
Vista:

Error conexión a access

Publicado por Arturo Fdez-Pacheco Conesa (5 intervenciones) el 13/04/2025 11:46:00
Bueno días.

Estoy tratando de "migrar" una aplicación de Visual Studio 2022 (Basic) a Python y no consigo conectar con la base de datos .accdb.

El modulo es :

import pyodbc
import sys

# Crear la cadena de conexión
strconn = "Driver={Microsoft Access Driver (*.mdb, *.accdb)}; Dbq=C:\Gestion_Diabetes(Pruebas)\BaseDeDatos\GestionDiabetes.accdb)" ;"

# Establecer la conexión
try:

conn = pyodbc.connect(strconn)

cursor=conn.cursor
cursor.execute('SELECT * FROM horarios')

# Obtener los resultados
rows = cursor.fetchall()

for row in rows:
print(row)

except pyodbc.Error as e:
print(f"Error al conectar con Access: {e}")

sys.exit()

except Exception as e:
print(f"Error al ejecutar el SELECT: {e}")
sys.exit()

# Cerrar el cursor y la conexión
cursor.close()
conn.close()

El error al hacer la conexión es

('HY000', "[HY000] [Microsoft][Controlador ODBC Microsoft Access] No se pudo encontrar el archivo '(desconocido)'. (-1811) (SQLDriverConnect); [HY000] [Microsoft][Controlador ODBC Microsoft Access] No se pudo encontrar el archivo '(desconocido)'. (-1811)")

Para Visual Studio tengo creado un ODBC con Microsoft Access Driver (*.mdb, *.accdb), pero en la conexión del programa se utiliza Provider=Microsoft.ACE.OLEDB.12.0.

Que debo tocar.

Un saludo y gracias por vuestra atención

QUE DUROS SON LOS COMIENZOS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco Javier
Val: 249
Ha aumentado su posición en 29 puestos en Python (en relación al último mes)
Gráfica de Python

Error conexión a access

Publicado por Francisco Javier (315 intervenciones) el 15/08/2025 15:55:33
1
strconn = r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\Gestion_Diabetes(Pruebas)\BaseDeDatos\GestionDiabetes.accdb;"
En tu cadena original había un ) sobrante tras .accdb y un ;" mal puesto. Eso ya puede bastar para que el driver diga “archivo (desconocido)”.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar