Python и ODBC

Узелок на память про ODBC и python. Понадобилось мне экспортировать с MS Access базу данных с кучей записей и разных связей.

Для доступа к БД на MS Access нужно настроить источник данных (DSN).

Под Windows XP

  1. В Панели управления » Администрирование » Источник данных (ODBC)
  2. На вкладке 'Пользовательские DSN' » Добавить » Driver do Microsoft Access (*.mdb) » Готово
  3. Имя источника данных » test
  4. База данных » Выбрать ... » OK

Модуль со стороны python называется pyodbc установочные файлы есть тут.

Под Ubuntu

Установим нужные пакеты

sudo apt-get install unixodbc mdbtools libmdbodbcpip install pyodbc

Настроем драйвер для доступа к MDB файлам. Правим файл /etc/odbcinst.ini

[AccessMS]Description = AccessMS ODBCDriver = /usr/lib/libmdbodbc.so.0Setup =FileUsage =CPTimeout =CPReuse =

Настроем DSN к конкретному mdb-файлау. Правим файл /etc/odbc.ini

[test]Description = Test mdb databaseDriver = AccessMSDatabase = /home/proft/temp/test.mdbServername = localhostUsername =Password =port = 5432

Проверим настроенную связку

isql -v testSQL> select * from Patient

Строка подключения к настроенному выше DSN:

import pyodbcdbq = pyodbc.connect('DSN=test')cursor = dbq.cursor()

Доступ к полям возможен по индексу либо по имени поля

for row in cursor.execute("select * from Patient"):    print row[0]    print row.firstname

Возможности pyodbc чтением не ограничиваются тут есть примеры других операций.


Оригинал статьи http://proft.me/2010/12/16/python-i-odbc/

0 комментариев

Оставить комментарий