Найти - Пользователи
Полная версия: Скрипт, подключающийся к базам данных
Начало » Python для новичков » Скрипт, подключающийся к базам данных
1 2
Mutagena
Мне необходимо написать скрипт, который будет выполняться демоном cron. Скрипту необходимо подключаться к базе данных и выполнять запросы. Подскажите, на какие модули необходимо посмотреть для выполнения данной задачи. Желательно только из стандартной библиотеки.
expee
Крон вообще к питону не имеет никакого отношения. Насчет бд - если ты используешь mysql, то в любом случае придется использовать сторонний модуль (python-mysqldb).
Mutagena
expee, так я могу выполнить скрипт на python с помощью планировщика задач cron? А есть модуль, независимый от конкретной СУБД? Например, чтобы легко было перебраться с PostgreSQL на MySQL или Oracle?
regall
Mutagena
так я могу выполнить скрипт на python с помощью планировщика задач cron
да, например сделать скрипт на Python к нему сделать sh-скрипт, который его запускает с параметрами.
Пример:
hello.py
# /usr/bin/python
print 'Hello!'
—-
hello.sh
python /www/users/mutagena/scripts/hello.py
Mutagena
А есть модуль, независимый от конкретной СУБД
pyodbc
Единственное, что требуется сделать - установить unix-odbc и odbc -драйвер для вашей СУБД (должын идти в пакете с самой СУБД).
Почитайте о DSN-ax в Unix, и в принципе софт будет независимым от СУБД.
Mutagena
regall, спасибо, буду знать что изучать )
PooH
regall
да, например сделать скрипт на Python к нему сделать sh-скрипт, который его запускает с параметрами.
Можно и без промежуточного скрипта на sh только путь к питону надо в кронтабе целиком прописывать.
Mutagena
PooH, буду иметь в виду :)
pasaranax
Да собсно можно и сам .py файл сделать исполняемым и запускать. Путь к питону указан в его первой строке. А для работы с базами данных в стандартной библиотеке есть только модули sqlite3 и dbm, если не ошибаюсь.
regall
pasaranax
dbm
DMB (он же database mapping) - это только Unix-овая либа и только для баз данных, которые хранят данные в хеш-таблицах (типа MongoDB).
pasaranax
sqlite3
только для работы с БД sqlite.

В связи с этим вопрос:
каким образом, используя эти две либы можно подключится к Oracle, MsSQL или MySQL?

Mutagena, если вам интересно исполнять задачи, которые являются только Python кодом воспользуйтесь продуктом http://code.google.com/p/scheduler-py, кроме того он кроссплатформенный. Если пользоваться кроном, то вот небольшая статься по cron+django, думаю будет полезна: http://patrickbeeson.com/blog/2008/mar/05/how-run-python-script-django-cron
Ferroman
А есть модуль, независимый от конкретной СУБД? Например, чтобы легко было перебраться с PostgreSQL на MySQL или Oracle?
SqlAlchemy?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB