Форум сайта python.su
if __name__ == ‘__main__’:2j2a: Выдаёт ошибку: имя “main” не определено. Вот такой текст:
import sys
main(sys.argv, ‘sqlite:///converted.db’)
Офлайн
ДобрыйАга, мой косяк. Смотри сейчас.
2j2a: Выдаёт ошибку: имя “main” не определено. Вот такой текст:
Добрый
Хотелось бы понять, что означает последняя строка.
# код ниже выполняется только если модуль запущен как скрипт
# см . http://docs.python.org/library/__main__.html
if __name__ == '__main__':
# импорт модуля sys
import sys
# вызов функции dbf2sa с двумя аргументами:
# 1. -- аргумент переданный скрипту в командной строке
# 2. -- sqlalchemy-путь к БД, в данном случае -- converted.db в текущей дире
dbf2sa(sys.argv[1], 'sqlite:///converted.db')
Офлайн
Ура заработало! Юрий большое спасибо, теперь буду разбираться с sqlite и sqlalchemy.
Офлайн
ДобрыйУбунтами линух как-то не ограничивается… Есть и BSD и Солярки. По крайней мере в средней накрученности конторах я видел разное.
Мало где на предприятиях используют Ubuntu.
ДобрыйОгнептица таки с самого начала умеет embeded.
Установка действительно не сложная, но хотелось бы сделать всё одной программой
LexanderНасчет Оракела - это 10-ка Express Edition, правда не самый удачный билд основные ограничения - 1 гиг памяти, 1 проц. и, что хуже, 4 гига пространства за все про все. Зато очень удобная админка с возможностью расширения. Очень быстр и компактен (насколько это вообще можно говорить о СУБД такого уровня) с отличными дефолтными параметрами настройки. Гоняли и под вендой и под линухом. Показал себя лучше на линухе. Для линуха есть deb и rpm сборки. Поставляется в виде юникодной и не юникодной сборки. Так что, если используете кодировку cp1251 то надо брать неюникодную сборку. Она, к тому же, шустрей. Да, смена кодировки осуществляется так:
Поделись впечатлениями подробнее, плз.
CONNECT / AS SYSDBA;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER DATABASE CHARACTER SET INTERNAL_USE CL8MSWIN1251;
SHUTDOWN;
STARTUP;
ДобрыйНастоятельно не рекомендую. sqlite - отличный для однопользовательской СУБД, типа как в файрфоксе, но не пойдет для многопользовательской работы. Алхимия - тут надо смотреть. Я, например, предпочитаю все запросы делать руками, а для этого хватает DBAPI, кроме того, если использовать файрберд то kinterbasdb умеет такое:
Юрий большое спасибо, теперь буду разбираться с sqlite и sqlalchemy.
import kinterbasdb as k
con = k.connnect(.......)
cursor = con.cursor()
cyrsor.execute('select * from table where field1=? and field2=?', (1, 2))
for record in cursor.fetcallmap(): print record["YOUR_FIELD"]
Отредактировано (Май 15, 2009 15:00:36)
Офлайн
baluА ты код смотрел? Слабо такое же на raw sql и db api сделать? Потом сравним читабельность и объем кода.
Алхимия - тут надо смотреть. Я, например, предпочитаю все запросы делать руками, а для этого хватает DBAPI
Офлайн
j2aИ код смотрел и использовать пробовал. И не только алхимию.
А ты код смотрел?
j2aСмотря где, смотря для чего, смотря какой sql. Где-то, конечно, удобнее. А где-то и не очень, а где-то да ну его… Но у меня ситуация, когда лучше raw sql.
Слабо такое же на raw sql и db api сделать?
j2aРезультат зависит от кучи всего. А можно и нагрузку на СУБД тоже сравнить.
Потом сравним читабельность и объем кода.
Отредактировано (Май 15, 2009 16:03:39)
Офлайн
baluНа SA откат к DB API прозрачный. К примеру, вьюхи средствами SA не создашь, права не раздашь. А у меня при импорте данных из dbf и то и другое делать надо. Так данные “запихиваются” примерно как в примере выше, а post-load-action – raw sql.
.j2a<…что-то-было-что-balu-уже-перезаписал…>
Слабо такое же на raw sql и db api сделать?
Отредактировано (Май 15, 2009 16:17:02)
Офлайн
j2aДа, я знаю. Но тогда остальная прослойка не больно нужна. Я, кстати, свой мессадж, на который ты отвечал, обновил
На SA откат к DB API прозрачный.
Отредактировано (Май 15, 2009 16:09:20)
Офлайн
baluИз-за использования SQL в одной функции не использовать SA во всех остальных ;)
Да, я знаю. Но тогда остальная прослойка не больно нужна
Офлайн
j2aУ меня таких функций, на основной задаче, процентов 90 как минимум.
Из-за использования SQL в одной функции не использовать SA во всех остальных
Отредактировано (Май 15, 2009 16:18:37)
Офлайн