title: Connect to MS Access in Python
body: <p>I tried a lot of examples from internet to include a MS Access connection to my python project without sucess</p>
  
  <p>I have my python project in Eclipse with Anaconda, and my code is:</p>
  
  <pre><code>import win32com.client
  import pyodbc
  
  def ado():
   '''
    connect with com dispatch objs
    '''
    conn = win32com.client.Dispatch(r'ADODB.Connection')
    DSN = ('PROVIDER = Microsoft.Jet.OLEDB.4.0;DATA SOURCE = ' + db +  ';')
    conn.Open(DSN)
  
    rs = win32com.client.Dispatch(r'ADODB.Recordset')
    strsql = "select * from Empresas"
    rs.Open(strsql, conn, 1, 3)
    t = rs.GetRows()
    conn.Close()
    return t
  
  def odbc():
    '''
    connects with odbc
    '''        
    constr = 'Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=' + db
    conn = pyodbc.connect(constr, autocommit=True)
    cur = conn.cursor()
    strsql = "select * from Empresas"
    cur.execute(strsql)
    t = list(cur)
   conn.close()
   return t
  
   if __name__ == '__main__':
  
    db = 'D:/EMP001/2018/example.mdb'
    data1 = ado()
    data2 = odbc()
  </code></pre>
  
  <p>With data1 I get the following message:</p>
  
  <p>pywintypes.com_error: (-2147352567, 'Ocurrió una excepción.', (0, 'ADODB.Connection', 'No se encontró el proveedor especificado. Es posible que no esté instalado correctamente.', 'C:\WINDOWS\HELP\ADO270.CHM', 1240655, -2146824582), None)</p>
  
  <p>And with data2 this one:</p>
  
  <p>pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado (0) (SQLDriverConnect)')</p>
  
  <p>Any ideas?</p>