Как я могу подключиться к базе данных sqlite3, используя pyodbc и unixODBC? - PullRequest
3 голосов
/ 22 февраля 2011

Я не могу понять, как подключиться к базе данных sqlite с помощью pyodbc.У меня настроен DSN, и я могу без проблем подключиться к нему через isql.

isql -v TEST

работает как шарм, однако

import pyodbc
pyodbc.connect('DSN=TEST')

Выдает следующее сообщение об ошибке:

pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnectW)')

Я также пробовал большое количество перестановок строк соединения в примерах на https://code.google.com/p/pyodbc/wiki/GettingStarted, но безрезультатно.

pyodbc.dataSources()

Указывает ли dsn, к которому я пытаюсь подключиться, значение, содержащее путь к libsqlite3odbc.so

Я предполагаю, что упускаю что-то очевидное, но не могу понятьчто ... ... 1017 *

РЕДАКТИРОВАТЬ: Использование unixODBC 2.3.0, python 2.7.1, sqliteodbc 0.88 и pyodbc 2.1.8 РЕДАКТИРОВАТЬ: причина, по которой я хочу использовать pyodbc, заключается в переносимости для Windows и MS Access

1 Ответ

0 голосов
/ 11 июня 2011

Просто чтобы проверить, что передается диспетчеру драйверов, включите трассировку ODBC, в вашем файле odbcinst, добавьте INI-файл

[ODBC]
Trace = Yes
TraceFile = /tmp/sql.log

Затем снова запустите приложение и посмотрите, что передается в вызов SQLConnect или SQLDriverConnect.

...