Пытаюсь получить список из pyodb c .drivers (), но ничего не дает, почему? - PullRequest
0 голосов
/ 08 мая 2020

Попытка настроить простой проект ODB C. Чтобы убедиться, что я называю правильный драйвер в соединении, я хотел, чтобы pyodb c сообщал о текущих драйверах.

Должен ли pyodb c .drivers () сообщать эту информацию, или есть еще что делать после звонка, чтобы увидеть список драйверов?

Windows 10 VSCode python 3.7.2 64-битная без виртуальной среды python отчеты о замораживании pyodbc == 4.0.30 (а также 4.0 .27)

Windows ODB C Администратор источника данных (32- и 64-разрядный) показывает много драйверов. MS Excel работает с PostgreSQL.

import pyodbc
Print("List of ODBC drivers:")
pyodbc.drivers()
print("End of List")

Просто выдает вывод терминала:

List of ODBC drivers:
End of List

Первоначально, import pyodbc вызывало исключение. Неустановленный pyodb c, перезагруженный, переустановленный, который, казалось, отсортировал исключения, но не результаты, которые я искал. Пытался вернуться к pyodb c 4.0.27 без изменений

Отредактировано, потому что я разобрался:

Ответ таков: да, это еще не все. pyodb c .drivers () возвращает список Чтобы получить имена драйверов, мне нужно было сделать:

import pyodbc
print("List of ODBC Drivers:")
dlist = pyodbc.drivers()
for drvr in dlist:
    print(drvr)

print("End of List")

И теперь я получаю:

List of ODBC Drivers:
SQL Server
QB SQL Anywhere
Transoft 64 bit ODBC Driver
PostgreSQL ODBC Driver(ANSI)
PostgreSQL ODBC Driver(UNICODE)
End of List

Это то, что мне нужно .

Список содержит только 64-битные драйверы, потому что я использую 64-битные python.

...