Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Открыть новую тему     Написать ответ в эту тему

vavdey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго здравия, форумчане. Ветку по своему вопросу не нашел, попробую спросить здеся )))
Есть комплект IBase 7.1 с таблэтко, не прокатывает сери йник. Ткните плз, где можно спросить развернуто свой вопрос. Заранее спасибо.
ЗЫ. Сори за офтоп

Всего записей: 33 | Зарегистр. 08-04-2008 | Отправлено: 14:10 07-09-2017 | Исправлено: vavdey, 14:14 07-09-2017
Tigriwka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ПОМОГИТЕ! (пожалуйста;) ) Не могу найти ключ для FbScanner. Trial быстро кончается, а ссылки с этой темы уже не работают(

Всего записей: 4 | Зарегистр. 29-08-2013 | Отправлено: 08:07 23-10-2017
Guch68

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я тоже по сети искал - нигде не нашел ломалки или ключей... ЕСли кто знает как с утилитой бороться FbScanner - подскажите

Всего записей: 45 | Зарегистр. 26-04-2015 | Отправлено: 13:53 23-10-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ошиблись адресом.
Вместо "Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование »" надо в "
Компьютерный форум Ru.Board » Андеграунд » Варезник »..."

Всего записей: 1474 | Зарегистр. 10-07-2013 | Отправлено: 02:43 28-10-2017 | Исправлено: Alexzzy, 02:46 28-10-2017
RetroSysAdmin



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте
 
Научите пожалуйста делать diff
между двумя дампами (или как правильно называть архивы|бэкап?)
в формате  
*.fbk
 
дано:
Есть вчерашний и сегодняшний,
задача:
найти изменения/добавления
 
желательно автоматизированно (скриптом)
или подскажите утилитку (консольную, гуёвую)
 
с обычным *.sql я бы справился,
просто с fb/ib никогда дела не имел

Всего записей: 63 | Зарегистр. 21-10-2016 | Отправлено: 11:10 03-05-2018
TuMOXA123

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такая штука IBExpert. Она, кроме всего прочего, умеет сравнивать базы и генерировать скрипт, превращающий одну базу в другую. Раньше была бесплатна для СССР (Если в windows language for non unicode programms русский или/и настройки локали (не интерфейса) русские). Теперь не знаю
 
 
 
http://www.ibexpert.net/ibe/
 
www.ibexpert.com/rus/ibe_sfx.exe

Всего записей: 456 | Зарегистр. 27-01-2003 | Отправлено: 13:44 03-05-2018
chAlx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
с обычным *.sql я бы справился

С первой парой гигов-то да... ;)
 
Проблемы нет перегнать дампы в sql. Только здоровые будут... И порядок одних и тех же записей в них, вроде, может различаться.
Ну и бэкапы по-любому придётся восстановить в действующие базы, чтобы с ними хоть как-то работать. Так что стоит начать с более приятного варианта, описанного выше.

Всего записей: 1691 | Зарегистр. 19-03-2003 | Отправлено: 23:37 03-05-2018
Maximus777

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь может ответить, по какой причине, контекстная переменная в триггере, OLD.Field = Null, хотя значение поля не менялось?

Всего записей: 674 | Зарегистр. 27-07-2007 | Отправлено: 12:18 19-08-2018
YuriyRR



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maximus777
а триггер то какой?

Всего записей: 516 | Зарегистр. 07-06-2007 | Отправлено: 17:21 19-08-2018
Maximus777

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а триггер то какой?

Такой:

Код:
CREATE TRIGGER CLIENTS_AIUD FOR CLIENTS AFTER INSERT OR UPDATE OR DELETE
AS
DECLARE VARIABLE VAR1 varchar(256);
DECLARE VARIABLE VAR2 varchar(256);
BEGIN
    -- Наименование Предприятия
    if (new.TITLE <> old.TITLE) then
        EXECUTE STATEMENT('insert into CHANGES_OF_KKM (DATETIME, CHNG_EVENT, OLD_VALUE, NEW_VALUE, TABLE_NAME,  FIELD_NAME, ROW_ID) values(:t1, ''Изменение Наименования'', :b1, :b2, ''CLIENTS'', ''TITLE'', 1)')
        (b1:=old.TITLE,b2:=new.TITLE,o1:=old.ID,t1:=CURRENT_TIMESTAMP)
        ON EXTERNAL 'localhost:/home/linuxoid/projects/DataBases/JournalKKM.gdb'
        AS USER 'SYSDBA' PASSWORD 'masterkey';
 
    -- Смена Банка
    if (old.BANK <> new.BANK) then
        VAR1 = (select BANKS.TITLE from BANKS where BANKS.ID=old.BANK);
        VAR2 = (select BANKS.TITLE from BANKS where BANKS.ID=new.BANK);
        EXECUTE STATEMENT('insert into CHANGES_OF_KKM (DATETIME, CHNG_EVENT, OLD_VALUE, NEW_VALUE, TABLE_NAME,  FIELD_NAME, ROW_ID) values(:t1, ''Смена банка'', :b1, :b2, ''CLIENTS'', ''BANK'', 1)')
        (b1:=VAR1, b2:=VAR2, o1:=old.ID,t1:=CURRENT_TIMESTAMP)
        ON EXTERNAL 'localhost:/home/linuxoid/projects/DataBases/JournalKKM.gdb'
        AS USER 'SYSDBA' PASSWORD 'masterkey';

 
Делаю Update записи и в триггере получаю old.BANK = Null. Причём, меняю значение другого поля. Т.е. поле BANK не затрагивается вообще. Откуда там Null берётся?

Всего записей: 674 | Зарегистр. 27-07-2007 | Отправлено: 18:34 19-08-2018
ant0ni02004

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maximus777
 
 -- Смена Банка  
    if (old.BANK <> new.BANK) then  
    begin
        VAR1 = (select BANKS.TITLE from BANKS where BANKS.ID=old.BANK);  
        VAR2 = (select BANKS.TITLE from BANKS where BANKS.ID=new.BANK);  
        EXECUTE STATEMENT('insert into CHANGES_OF_KKM (DATETIME, CHNG_EVENT, OLD_VALUE, NEW_VALUE, TABLE_NAME,  FIELD_NAME, ROW_ID) values(:t1, ''Смена банка'', :b1, :b2, ''CLIENTS'', ''BANK'', 1)')  
        (b1:=VAR1, b2:=VAR2, o1:=old.ID,t1:=CURRENT_TIMESTAMP)  
        ON EXTERNAL 'localhost:/home/linuxoid/projects/DataBases/JournalKKM.gdb'  
        AS USER 'SYSDBA' PASSWORD 'masterkey';
    end;

Всего записей: 442 | Зарегистр. 26-10-2004 | Отправлено: 18:45 19-08-2018
Maximus777

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Афигеть! Работает! Спасибо!

Всего записей: 674 | Зарегистр. 27-07-2007 | Отправлено: 19:05 19-08-2018
ant0ni02004

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maximus777
 
а также неплохо будет проверять в триггере:
if (updating) then ...  
чтобы не отрабатывало лишнее при INS и DEL
 
и проверять изменения полей лучше будет:
 
if (new.TITLE IS DISCTICT FROM old.TITLE) then  
if (old.BANK IS DISCTICT FROM new.BANK) then
 
так и NULL-ы учитываются

Всего записей: 442 | Зарегистр. 26-10-2004 | Отправлено: 19:50 19-08-2018
Maximus777

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а также неплохо будет проверять в триггере:  
if (updating) then ...  
чтобы не отрабатывало лишнее при INS и DEL

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

Цитата:
и проверять изменения полей лучше будет:  
 
if (new.TITLE IS DISCTICT FROM old.TITLE) then  
if (old.BANK IS DISCTICT FROM new.BANK) then  
 
так и NULL-ы учитываются

А вот это реально пригодится. Благодарю!

Всего записей: 674 | Зарегистр. 27-07-2007 | Отправлено: 16:14 20-08-2018
Shaman2

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
и проверять изменения полей лучше будет:
 
if (new.TITLE IS DISCTICT FROM old.TITLE) then  
if (old.BANK IS DISCTICT FROM new.BANK) then
 
так и NULL-ы учитываются

 
А можно мне пояснить как читать сию конструкцию?

Всего записей: 358 | Зарегистр. 18-07-2003 | Отправлено: 17:06 20-08-2018
waik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Shaman2
 тут подробно расписано с примерами  http://firebirdsql.su/doku.php?id=is_not_distinct_from
 
Update:
А походу обманул немного... не то прочитал или в тексте ошибка и правильно все же "is [not] distinct from"

Всего записей: 605 | Зарегистр. 15-01-2003 | Отправлено: 17:45 20-08-2018 | Исправлено: waik, 17:50 20-08-2018
ant0ni02004

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shaman2
waik
 
читать IS DISTINCT FROM как <> (т.е. отличается), IS NOT DISTINCT FROM как = (т.е. не отличается)
 
https://firebirdsql.org/refdocs/langrefupd21-distinct.html

Всего записей: 442 | Зарегистр. 26-10-2004 | Отправлено: 19:40 20-08-2018
YuriyRR



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите FIBPlus жив или нет? Занимается ли кто-то его развитием?

Всего записей: 516 | Зарегистр. 07-06-2007 | Отправлено: 06:48 26-09-2018
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Один товарищ выложил на гитхаб фибы с некоторымии фиксами и портом под новые делфи.Ссылка

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 08:35 26-09-2018
noisy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Он то выложил. но развитием не занимается

Всего записей: 983 | Зарегистр. 30-05-2002 | Отправлено: 09:35 26-09-2018
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru