Рубрики
Без рубрики

SQLalchemy и Microsoft Access

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

Обновление (10/12/2010) – Один из моих предупреждений читателей сказал мне, что SQLALCHEMY 0.6.X в настоящее время не поддерживает диалект доступа. Читать здесь для получения дополнительной информации.

Год или два назад меня попросили перенести некоторые данные из некоторых старых файлов Microsoft Access на наш сервер Microsoft SQL. Поскольку мне нравится использовать SQLALCHEMY, я решил посмотреть, поддерживает ли он доступ. Документация в то время была довольно беспокойна в этом отношении, но, похоже, это возможно, и я нашел один поток об этом на Google Google Sqlachemy.

Код для подключения к Microsoft Access довольно прост. Это выглядит примерно так:

from sqlalchemy import create_engine
engine = create_engine(r'access:///C:/some/path/database.MDB')

Увидеть, как было легко? Вы просто говорите SQLAlchemy, к какой базу данных подключаться к базе данных, добавьте три пересылающиеся скольжения, а затем путь к файлу. Как только это сделано, вы можете сделать в значительной степени что угодно с файлом доступа, который вы можете сделать с обычной базой данных:

########################################################################
class TableName(Base):
    """
    MS Access database
    """
    __tablename__ = "ROW"
    __table_args__ = ({"autoload":True})  # load the database
    FILENUM = Column("FILE #", Integer, key="FILENUM")

В указанном выше коде я использую деклассионный синтаксис SQLALCHEMY для автозагрузки структуры базы данных. Я не могу вспомнить, была ли эта база данных имела свой основной ключ, но я предполагаю, что это не так, как мне пришлось добавить эту последнюю строку.

В любом случае, как только у вас будет подключение, вы можете просто запустить запросы, как вы обычно. В моем случае я закончил создание моделей файла для удержания всех определений таблиц для файла доступа и базы данных SQL Server, то я сделал выбор * в файле доступа, затеревшись за результатом и вставил каждую строку в SQL Server. один. Единственное, что вы должны следить за тем, что доступ – это гораздо больший прощение ноль, чем SQL Server, поэтому мне пришлось написать некоторую специальную обработку вокруг этого atrocity.

Ну, это действительно все, что есть к этому. Вы можете проверить мои другие учебные пособия SQLALCHEMY для получения более общей информации об использовании SQLALCHMEY, чтобы взаимодействовать с вашей базой данных.