Уведомления

Группа в Telegram: @pythonsu

#1 Март 10, 2018 13:20:39

Antonpython
Зарегистрирован: 2017-02-14
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтение базы данных из Access в консоль PyCharm

Добрый день!
Есть такой код

 # http://mail.python.org/pipermail/python-win32/2011-January/011086.html
import adodbapi # http://adodbapi.sourceforge.net/
database = "db1.accdb"
constr = 'Provider=Microsoft.Jet.OLEDB.4.0; Data Source=%s'  % database
tablename = "address"
print(database)
# 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)
print(database)
# show the result
result = cur.fetchall()
for item in result:
    print (item)
    
# close the cursor and connection
cur.close()
conn.close()


Но делает мне такие ошибки

 C:\Users\Anton\AppData\Local\Programs\Python\Python36-32\python.exe C:/Users/Anton/PycharmProjects/BASES/Access.py
db1.accdb
Traceback (most recent call last):
  File "C:\Users\Anton\AppData\Local\Programs\Python\Python36-32\lib\site-packages\adodbapi\adodbapi.py", line 93, in make_COM_connecter
    c = Dispatch('ADODB.Connection') #connect _after_ CoIninialize v2.1.1 adamvan
NameError: name 'Dispatch' is not defined
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "C:\Users\Anton\AppData\Local\Programs\Python\Python36-32\lib\site-packages\adodbapi\adodbapi.py", line 112, in connect
    co.connect(kwargs)
  File "C:\Users\Anton\AppData\Local\Programs\Python\Python36-32\lib\site-packages\adodbapi\adodbapi.py", line 269, in connect
    self.connector = connection_maker()
  File "C:\Users\Anton\AppData\Local\Programs\Python\Python36-32\lib\site-packages\adodbapi\adodbapi.py", line 95, in make_COM_connecter
    raise api.InterfaceError ("Windows COM Error: Dispatch('ADODB.Connection') failed.")
adodbapi.apibase.InterfaceError: Windows COM Error: Dispatch('ADODB.Connection') failed.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "C:/Users/Anton/PycharmProjects/BASES/Access.py", line 13, in <module>
    conn = adodbapi.connect(constr)
  File "C:\Users\Anton\AppData\Local\Programs\Python\Python36-32\lib\site-packages\adodbapi\adodbapi.py", line 116, in connect
    raise api.OperationalError(e, message)
adodbapi.apibase.OperationalError: (InterfaceError("Windows COM Error: Dispatch('ADODB.Connection') failed.",), 'Error opening connection to "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db1.accdb"')
Process finished with exit code 1


Подскажите, пожалуйста, что нужно переписать, чтобы код заработал?


Можно ли перенести топик в Bases… тему

Отредактировано Antonpython (Март 10, 2018 14:13:15)

Офлайн

#2 Март 11, 2018 13:24:08

Arthur_Filimonov
Зарегистрирован: 2018-03-11
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтение базы данных из Access в консоль PyCharm

Надо разбираться.
Для начала: база данных лежит в том же каталоге, что и файл Access.py с вашим кодом?

Офлайн

#3 Март 11, 2018 16:58:51

Antonpython
Зарегистрирован: 2017-02-14
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтение базы данных из Access в консоль PyCharm

Артур… долгая история

Файл кидал и туда и не туда(прописывая директории)

После поисков и методов тыка, понял, что нужно делать дело через pypyodbc с Access

Зачем лохматить бабушку, если можно ее не лохматить.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version