Comments 16
А почему не использовать встроенную утилиту командной строки от разработчиков БД?
https://firebirdsql.org/manual/isql.html
- Можно вместо fdb, работая в интерактивном режиме, тут понятно, но менее удобно;
- Можно вместо питона, но что может гарантировать стабильный вывод значения, скажем в диапазоне 0..1, который в статье указан? Опять же, если намек на INput filename
как то так
test.sql
connect employee; select 'result: '||/*тут у нас результат-*/'1' as res from rdb$database; quit;
скрипт для вставки
root@home:~# /opt/firebird/bin/isql -q -now -i test.sql | grep 'result:' | awk '{print $2}'
1
Что там вырезать с помощью awk/grep или других «встроенных» утилит каждый может решать сам, но по сути python тут видится лишним элементом.
Не используйте firebird для Веба. Fb тупиковая Бд.
у нас стоит fb 2.5 классик максимальное количество коннектов 400.
Дальше отказывается подключать пользователей !
А Если используете, и будете масштабироватся знайте лучше сразу мигрировать на тот же постгре либо коммерческие бд.
А весь хваленный маркетинг в итоге превращается в очень сложное сопровождение этой субд.
Новые проекты лучше уж начинать с MariaDb либо c Postresql.
И зачем вы используете classic с его накладными расходами, да и как то вы не указали условия, а то может в вашем варианте не в БД проблема?
Не используйте firebird для Веба.
Никто и не говорил, что FB у нас используется для Веба. Эта СУБД у нас на вооружении касаемо проектов, никак не связанных с Вебом.
2. про тупиковую не согласен
3. зачем используете классик если у вас коротко живущие коннекты?
4. тестировали ли FB 3?
зы
про 400 пользователей: что за железо?
есть БД ежедневно 3k+ подключений, проблемы начинаются ближе к 4к
причем есть основания полагать, что истинный корень проблемы в количестве соединений а в неправильной работе с транзакциями в некоторых АРМах
wget http://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz -O /var/tmp/Python-3.6.1.tar.xzРаз уж вы пишете настолько банальные вещи, то почему упустили распаковку скачанного архива? Вдруг читатель не знает, как это сделать?
cd /var/tmp/Python-3.6.1
./configure
make
make install
Библиотека fdb работает с версиями Python 2.6+ и 3.x; в CentOS 6.8 стоит Python 2.6, если мне память не изменяет. Нужды разводить бардак на сервере, и тем более рекомендовать поступать так другим, небыло.
Дабы не городить бардак, python 2 можно удалить, но зачем лишние действия?
Действительно, можно указать, что можно использовать и python. Как вы верно заметили, fdb работает и с тем, и с тем. Только стоит учесть, что если копировать скрипт 1 в 1 из статьи — в статье python3.
- Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install (@kekekeks)
- Python 3.5 by Software Collections (Software Collections — это проект Red Hat'а)
Дабы не городить бардак, python 2 можно удалитьНельзя. В данном случае нельзя просто взять, и удалить Python 2.
Опять же, все серьезные проекты (например Django) давным давно поддерживают python 3. И, опять же, не нужно думать о virtualenv.
Вот только в серьезных проектах обычно используют виртуальные окружения, дабы не разводить бардак в системе и переключаться между несколькими окружениями. Не хочется возиться с установкой python3 (тем более собирать из исходников!) — можно установить miniconda/anaconda дистрибутив. Всего лишь надо скачать установочный скрипт и запустить, можно даже без прав рута. Далее,
conda create -n myvenv python=3.5
source activate myenv
Вуаля! И, в отличие от venv, не надо дополнительно устанавливать setuptools, pip3. И можно создавать окружения с любыми версиями питона (venv использует установленный в системе)
python 2 можно удалить
И отвалятся системные скрипты
Раз уж вы пишете настолько банальные вещи, то почему упустили распаковку скачанного архива? Вдруг читатель не знает, как это сделать?
Ну, такими темпами могу сказать, что нет предела совершенству, придраться можно ко всему. Практически данный процесс не помешает, с точки зрения перфекционизма да, скорее всего, тут не всё круто, на идеал и не претендую.
Библиотека fdb работает с версиями Python 2.6+ и 3.x; в CentOS 6.8 стоит Python 2.6, если мне память не изменяет.
Тут спорить не буду. Мы хотели максимально актуальные версии, в чем нас нельзя обвинять =)
Подключение к FireBird из Python и мониторинг факта записи в БД