python - con - pyodbc access
Biblioteca de MS Access para python (4)
Dependiendo de lo que quieras hacer, pyodbc podría ser lo que estás buscando.
import pyodbc
db_file = r''''''C:/x.mdb''''''
user = ''admin''
password = ''''
odbc_conn_str = ''DRIVER={Microsoft Access Driver (*.mdb)};DBQ=%s;UID=%s;PWD=%s'' %/
(db_file, user, password)
# Or, for newer versions of the Access drivers:
odbc_conn_str = ''DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=%s;UID=%s;PWD=%s'' %/
(db_file, user, password)
conn = pyodbc.connect(odbc_conn_str)
Esta pregunta ya tiene una respuesta aquí:
¿Hay una biblioteca para usar la base de datos MS Access en python? El módulo win32 no es tan fácil como la biblioteca MySQL. ¿Hay alguna manera más simple de usar MS Access con Python?
No creo que win32 sea difícil. Intenta usar su módulo odbc. Ejemplo de código que funciona con base de datos ODBC y PostgreSQL:
import odbc
def get_pg_ver(db_alias):
connection = odbc.odbc(db_alias)
try:
cursor = connection.cursor()
cursor.execute(''SELECT version()'')
for row in cursor.fetchall():
print row[0]
finally:
connection.close()
get_pg_ver(''odbc_name/user/passwd'')
Esto es muy similar para cada controlador de db que utilicé en Python y Jython (trabajo con PostgreSQL, Oracle e Informix).
Puede usar pypyodbc para crear fácilmente un archivo Access MDB vacío en la plataforma win32, y también compactar los archivos MDB de acceso existentes.
Puede ser tan fácil como:
import pypyodbc
pypyodbc.win_create_mdb( "D://Your_MDB_file_path.mdb" )
Además, como una biblioteca ODBC dbi 2.0, pypyodbc es altamente compatible con pyodbc, puede hacer consultas de bases de datos SQL como SELECT, INSERT, UPDATE con la biblioteca.
Aquí está el Tutorial completo sobre el soporte de acceso de pypyodbc.
Descargo de responsabilidad: soy el desarrollador de pypyodbc.
Tuve un éxito reciente usando el módulo adodbapi de pywin32.
El siguiente fragmento fue tomado de this sitio web:
import adodbapi
database = "db1.mdb"
constr = ''Provider=Microsoft.Jet.OLEDB.4.0; Data Source=%s'' % database
tablename = "address"
# connect to the database
conn = adodbapi.connect(constr)
# create a cursor
cur = conn.cursor()
# extract all the data
sql = "select * from %s" % tablename
cur.execute(sql)
# show the result
result = cur.fetchall()
for item in result:
print item
# close the cursor and connection
cur.close()
conn.close()