Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» InterBase и FireBird: вопросы по работе и их решение

Автор: tanaseduard
Дата сообщения: 06.02.2015 10:08
miwa
Интересует продуктив. Можно ли ставить?
Есть около 200 раз на FB, вес около 2 гигов каждая. Работают на 2.5. Стабильность прежде всего.
Автор: noisy
Дата сообщения: 06.02.2015 10:20
Форумчане, может у кого есть дситрибутив FBScanner Community Edition ?

ссылка http://ib-aid.com/free/FBScanner25Community.zip не существует
Автор: miwa
Дата сообщения: 06.02.2015 10:40
tanaseduard
Я бы не ставил. Да и не ставлю. Хотя текущая бета 3.0 по заявлениям главного бета-тестера стабильнее чем релиз 2.5.0, но тем не менее еще могут всплыть нюансы. Тем более на двух сотнях установок. Но погонять тройку на паре установок поближе в принципе можно, если есть ресурсы (читай: свободный разработчик БД, который сможет в случае чего быстро поправить какой-то нюанс). Следует иметь в виду, что явные и неявные джойны в тройке смешивать нельзя. Тоесть если в 2.5.Х такой запрос проходил

select a.f1, b.f2, c.f3
from a, b
join c on a.id = c.a_id
where ...

то в тройке это уже не проканает.

Автор: tanaseduard
Дата сообщения: 06.02.2015 11:16
miwa

Спасибо за пример. Но по факту скажу что такое писать не по феншую, в принципе всегда пишем через Join так как переброс в другую СУБД аля Oracle etc.. будет проще. Стараемся выдерживать стандарты SQL.

Потестить стоит. Заодно увидим как пройдет трансплантация с одного типа на другой.

Спасибо за полезную информацию.
Автор: AlexCoRu
Дата сообщения: 14.02.2015 14:07
Что случилось? На http://web.firebirdsql.org/download/snapshot_builds/win/3.0/ появляются новые архивы содержащие только examples.
Автор: miwa
Дата сообщения: 15.02.2015 14:15
AlexCoRu

Первый же файл, Firebird-3.0.0.31644-0_Win32.7z, с датой-временем 2015-02-15 09:02:38, содержыт все файлы сервера. Так что ничего не случилось
Автор: mrUlugbek
Дата сообщения: 17.02.2015 09:49
Подскажите как правильно установить из снапшота?Если можно по шагам
Windows 7 64 bit
Чет не получается у меня коннектиться из снапшота.
Скачал инсталлер Firebird 3 beta 1 установил создал юзера при установке запустил как сервис
Ibexpert коннектился и открыл employee.fbd
Удалил Firebird3 beta Хочу из снапшота работать чета не получается
Заранее благодарен

Автор: tanaseduard
Дата сообщения: 25.02.2015 15:22
Народ а кто то знает как прикрутить Git/Mercurial для IBExpert?
Как контролировать версии исходников?
Автор: exteris
Дата сообщения: 26.02.2015 08:11

Цитата:
Народ а кто то знает как прикрутить Git/Mercurial для IBExpert?

Думаю, никак.

Цитата:
Как контролировать версии исходников?

IBExpert умеет хранить историю, вкладка version history. Не git, конечно, но может быть полезно.
Автор: miwa
Дата сообщения: 26.02.2015 10:07
tanaseduard

Цитата:
Народ а кто то знает как прикрутить Git/Mercurial для IBExpert?
Как контролировать версии исходников?

Наша практика показала, что единственный нормальный способ разработки базы данных - это инкрементальные скрипты. Тоесть, есть скрипт (или скрипты), создающие некую эталонную базу данных. Этот скрипт создается один раз (isql -x или Extract Metadata в IBExpert - неважно), обзывается, например, ethalon.sql и никогда больше не меняется. После того, как в этой эталонной базе разработитчик добавит, например, новую процедуру, он создает скрипт, который делает create or alter procedure и обзывает этот скрипт update_0001.sql. Потом кто-то в базе добавляет новую таблицу с некоторыми данными и вьюхой поверх нее. Без пробем - скрипт с create table, create view и массовыми insert.

Все эти скрипты отлично ложатся в любую систему контроля версий и, что не менее важно, дают возможность воссоздать в любой момент на любой машине эталонную базу данных, или базу данных любой версии. Ну и все прочие плюшки вроде "кто сделал вот эту фигню" или "Вася, почему в репозитории до сих пор нету вооон той процедуры".
Автор: tanaseduard
Дата сообщения: 26.02.2015 14:05
miwa
Спасибо. Так и делаем пока, но думали может есть возможность держать напрямую в процедуре контроля версий.

exteris
Спасибо.
Автор: ant0ni02004
Дата сообщения: 26.02.2015 15:48
tanaseduard
+1 к инкрементальным скриптам
более того, ПО должно проверять версию БД и требовать обновить (а то и вовсе не работать с БД старой версии)
Автор: tanaseduard
Дата сообщения: 26.02.2015 16:34
ant0ni02004
Тут я с вами согласен. Со скриптами и с обновкой, так и работают у нас продуктивы.
Автор: chAlx
Дата сообщения: 26.02.2015 17:24
miwa

Цитата:
Наша практика показала, что единственный нормальный способ разработки базы данных - это инкрементальные скрипты.

Поэтому вы выбрали редкую СУБД без лога транзакций ;) Хотя не знаю, помогает ли на практике лог при обновлении метаданных.

По-идее, из таблиц version history как раз и можно вытаскивать всю эту информацию: кто добавил, когда, что. Сравнение версий там вообще замечательное -- с sql-скриптами такого не получишь. Плюс в том, что это всё генерится автоматом и не требует никаких телодвижений (собрать скрипт, протестировать запуск на необновлённой базе, выложить в репозиторий).

Минус в сложности инкрементального апдейта (у вас, видимо, несколько одинаковых баз, на которые такие скрипты удобно накатывать). Да и сгенерить recreate script на конкретную дату непросто. Откатываться в прошлое в обоих вариантах довольно неудобно по-сравнению с обычным бэкапом.

Видимо, надо всё же разделять контроль версий и управление апгрейдами/бэкапами. Взять, например, добавление параметра в процедуру. Для апгрейда нужен sql-скрипт, отключающий все зависимые процедуры, обновляющий нужную, пересоздающий зависимые процедуры по-новой. При этом не особо важно, кто и как это изменение внёс. А для контроля и дебага как раз важно, кто и что именно: в истории версий мы увидим одну строчку с новым параметром, а не весь скрипт со всеми зависимостями.

Остаётся придумать актуальный способ выдачи данных для git и предложить автору IBExpert добавить соответствующий экспорт в контроль версий, который уже есть.
Автор: jonikDk
Дата сообщения: 26.02.2015 23:09
miwa

Цитата:
Наша практика показала, что единственный нормальный способ разработки базы данных - это инкрементальные скрипты.

Можно еще и хранить скрипт создания БД (можно разделенный по проектам/ предметным областям в БД)
При написании инкрементальных скриптов и после их выполнения/проверки - вносим изменения(или формируем) в общий скрипт и также храним его в системе контроля версий.
Автор: xpin2013
Дата сообщения: 02.03.2015 14:30
Может не совсем сюда. А и куда писать не известно.
Про FIBPlus для XE7, рекомендую обновиться, и если не поможет, то мой патч. (обнаружено для CalcFields)

Если в файле FIBDataSet.pas находим


Код: [no]{$IFDEF D_XE3}
procedure TFIBCustomDataSet.SetFieldData(Field: TField; Buffer: TValueBuffer);
begin
SetFieldData(Field,Pointer(Buffer))
end;
{$ENDIF}

procedure TFIBCustomDataSet.SetFieldData(Field: TField; Buffer: Pointer);
...
if (Field is TFIBStringField) then
else
Move(Buffer^, TmpBuff[1], Field.DataSize);[/no]
Автор: Lexus300
Дата сообщения: 02.03.2015 19:30
xpin2013
интересно, где вы взяли фибов с поддержкой XE7. на официалке поддержка только XE4 и далее тишина... тикеты молчат... проект сдулся по всей видимости. если есть для XE7 IDE может поделитесь?
Автор: exteris
Дата сообщения: 03.03.2015 06:47
В копилке лежит FIB 7.6 Retail. На оф.сайте про неё тоже молчок.
Автор: xpin2013
Дата сообщения: 03.03.2015 07:48
exteris
ого, спасибо.
Автор: Lexus300
Дата сообщения: 03.03.2015 17:02

Цитата:
В копилке лежит FIB 7.6 Retail

это не официальный релиз... потому как его так и не было... сборка чья то.. при чём не ставится под XE7, хотя в инсталяторе есть галка под неё.. но среды для компиляции не видит
Автор: exteris
Дата сообщения: 04.03.2015 07:57

Цитата:
это не официальный релиз... потому как его так и не было... сборка чья то.. при чём не ставится под XE7, хотя в инсталяторе есть галка под неё.. но среды для компиляции не видит

Вполне возможно. Ставил оттуда 7.5. Наткнулся на жуткие глюки под D7, пришлось откатиться на 7.4.
Автор: Kmich
Дата сообщения: 04.03.2015 09:23
с делфи фан скачивал fib 7.7 поставил на xe7 даже editors работатют (походу китайцы сами переписали эдиторсы). пока только поставил и не тестировал, что-то лень проект переводить с 2007 на xe7.
Автор: noisy
Дата сообщения: 04.03.2015 10:04
Kmich

интересно глянуть на 7.7
выложи на паблик, пжст
Автор: Kmich
Дата сообщения: 04.03.2015 12:14
noisy
смотри

http://rghost.ru/7rYHmfPXP
Автор: noisy
Дата сообщения: 04.03.2015 17:15
Kmich

Солянка из версии 7.51 и едитов ранних версий
Автор: Lexus300
Дата сообщения: 05.03.2015 07:02
noisy
версия 7.7.7000 Release
на XE7 встали без проблем.. даже работает нормально...
Автор: exteris
Дата сообщения: 06.03.2015 07:23
Она только под ХЕ7 или на более старые версии тоже встанет?
Автор: tanaseduard
Дата сообщения: 06.03.2015 11:37
Ребята а кто то видел лечилку для последних версий IBExpert? Как бы все есть, но например анализатор планов и форматер кода уже не пашет. В старых было.
Автор: miwa
Дата сообщения: 06.03.2015 17:09
tanaseduard
А зачем IBExpert лечить? Вполне себе здоров и работает. А если что-то не работает, пиши автору.
Автор: AlexCoRu
Дата сообщения: 06.03.2015 17:49
tanaseduard, всё пашет, обновляйся чаще. Они новые версии через день стали выкладывать, под FB3 дорабатывают. _http://www.ibexpert.com/rus/ibe_sfx.exe лицензия для ex-USSR:
Цитата:
IB Expert - The Most Expert for InterBase, Firebird and Yaffil
Copyright (C) 2000-2014 IBExpert KG
All rights reserved.

Если вы читаете этот текст, значит на вашем компьютере установлена
кодовая страница WIN1251. А это в свою очередь означает, что вы вправе
использовать этот продукт совершенно бесплатно.

В любом случае, вы всегда можете помочь нам своими советами
по улучшению продукта, баг-репортами и новыми идеями.

Успехов вам в работе!

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

Предыдущая тема: Сравнение двух строк


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.