On 29.11.2011 15:16, Dmitry Yemanov wrote:
Что-то мне это напоминает :-) Спасибо за тестовую базу, будем разбираться.
добрый день. не смотрели еще этот вопрос?
Ок, пакуй БД и выкладывай куда-нить для ознакомления.
Если там ценные данные или их просто много, можно дропнуть не
нужные таблицы и выложить бекап.
ftp://gs.selfip.biz
user: temp
passw: temp
там архив с бэкапом. при разбэкапе понадобится УДФ-ка
http://gsbelarus.com/gs/modules.php?name=Downl
On 28.11.2011 10:54, Khorsun Vlad wrote:
Сначала на вопросы ответь :)
1. оба поля VARCHAR(20) CHARACTER SET WIN1251
2. первое поле NOT NULL
3. второе поле сейчас не содержит НУЛЛов. Они заменены на пустые строки.
4. первое поле содержит НЕ УНИКАЛЬНЫЕ значения
5. неуникальных коомбинаций по пер
На радостях заменил в проекте весь код создания/удаления учетных записей
пользователей с сервисов на команды CREATE USER/DROP USER.
Но, вот незадача, как сделать проверку существования учетной записи
без обращения к сервисам?
Пока, ничего умнее
alter user yyy set middlename ''
и отлова ошибки
проблема присутствует и в снэпшоте 2.5.2 от 24.11.2011
проблема похожа на:
http://tracker.firebirdsql.org/browse/CORE-3660
Для поиска повторяющихся строк нужно отключить использование индекса в запросе.
у меня итак база восстановлена без единого индекса.
В базе есть уникальный индекс по двум строковым полям. База перестала
восстанавливаться из архива. Восстанавливаем без индексов.
Пытаемся воссоздать этот индекс -- ругается на наличие повторяющихся
строк. Но,
1) запрос с группировкой показывает что повторяющихся строк НЕТ.
2) более того, первое
доп инфо:
сервер 2.5.1.26356
база мигрирована с яфила.
Добрый день!
Вроде, http://tracker.firebirdsql.org/browse/CORE-3101 стоит как
исправлено. А у меня на 2.5.1 снова выскакивает
action cancelled by trigger (1) to preserve data integrity.
Cannot update trigger used by a CHECK Constraint.
При попытке SET DEFAULT 0.
Никто не в курсе в чем пробле
Второй. А еще быстрее будет delete безо всяких процедур и циклов.
так не все записи же надо удалять. тогда доп вопрос:
несколько десятков delete, каждый с условием IN на тысячу
идентификаторов будут быстрее, чем цикл с одиночными удалениями?
есть большая таблица. миллиона записей. все индексы снесены.
стоит задача удалить часть записей. какой вариант отработает
быстрее:
1)
create procedure del
as
declare variable id integer;
begin
for select id from table into :id do
begin
if (chеck some condition)
then delete from t
Это силами клиентов что-ли производится вся операция по остановке-
запуску?
и клиентами, и партнерами, и сотрудниками. кем только не делается :)
конечно, если все делать самому, так это еще Микки Рурк в Пятом
элементе доказал, что проблем не будет :)
а так, приходится выкручиваться.
Так а если загнать базу в состояние шатдауна с коннектом только
sysdba,
затем delete from mon$attachments.
и потом поедешь за 300 км от Минска расшатдаунивать :)
Ну еще можно пообрывать коннекты с помощью tcpview, хотя при этом
активные транзакции откатятся, не уверен хорошо ли это.
хотело
Это жестко ты конечно придумал ...
Проще научить клиентское приложение по удаленной команде самому
завершать работу и, естественно, отключаться от базы.
не хотелось бы раздувать функциональность приложения.
ситуаций там может быть море. типа из диалогового окна
открыто другое, а из него немод
Остановится только сетевой слушатель. Активные пользователи этого даже
не заметят, продолжая работу с базой. А вот новые коннекты уже станут
невозможными.
т.е. для классика решить задачу "Отключить всех пользователей от базы",
при условии что все пользователи раскиданы по большому предприятию и
Добрый день!
ФБ 2.5. Классик. Если останавливать службу через список служб,
когда пользователи активно работают, то теоретически можно запортить
базу? Или получив сигнал остановки сервер корректно завершит/оборвет
все текущие операции?
Андрей
Может кому пригодится:
http://gsbelarus.com/gs/wiki/index.php/Однонаправленная_асинхронная_дельта_репликация_средствами_СУБД_Firebird
On 29.03.2010 7:21, Dmitry Lendel wrote:
ÐÑивеÑ
ÐÑоÑÑ Ð¿ÑоÑÐµÐ½Ð¸Ñ Ð·Ð° невежеÑÑво, но ÑÑо ознаÑÐ°ÐµÑ Ñлово ÐедÑмин?
ÐмиÑÑий
кнÑÐ·Ñ Ñакой бÑл белоÑÑÑÑкий
http://ru.wikipedia.org/wiki/Ðедимин
по ÑовмеÑ
Вместе с таблицами удаляются и домены. А для этого надо убедиться, чтобы
они не использовались в параметрах процедур. А поле RDB$FIELD_SOURCE, по
которому идет поиск, неиндексировано. Попробуй создать по нему индекс и
перепроверить.
по времени не сильно помогло. неиндексированные чтения убрал
если что, то:
Версия сервера = WI-V6.3.0.26130 Firebird 2.5
Имя компьютера/порт = localhost
IP сервера = 127.0.0.1
Добрый день,
Сейчас эксперементирую с одной базой. Создаю-удаляю
таблички и триггеры. И вот что заметил -- удаление
полтысячи таблиц с помощью блока:
execute block
as
declare variable tn varchar(31) character set unicode_fss;
declare variable rn varchar(31) character set unicode_fss;
begin
Может вполне хватит следующих действий и при существующей структуре:
* Более производительное оборудование специально выделенное под работу
СУБД - быстрый дисковый массив, много оперативной памяти, 64битный
Firebird;
если бы мы писали на оракле или на 1С, тогда да, стандартный подход
придти к к
в первую очередь обслуживание. бэкап-восстановление 5-7 часов.
для предприятия с почти непрерывным циклом это неприятно.
хорошо что есть окно в воскр.
On 04.07.2011 17:40, Vlad Khorsun wrote:
"A K" ...
Реальная ситуация. Большая база на большом предприятии. Работает
медленно.
А вот с синхронной репликацией на уровне триггеров есть реальный шанс
получить большие проблемы (по моему скромному мнению это путь в никуда).
Реальная ситуация. Большая база на большом предприятии. Работает
медленно. Идея: делаем архивную БД и оперативную, в которой держим
последние год-пол
Транзакций существенно меньше чем CRUD операций как правило.
я понимаю, что в общем случае их будет меньше. Но, например, накопил я
в логе десять изменений в разных таблицах. Идет комит транзакции.
Мне все равно придется выполнить десять EXECUTE STATEMENT к внешней
базе, причем каждый EXECUTE
Попробуйте выталкивать изменения не по каждому I\U\D а по коммиту
тр-ции.
А что это изменит? Все равно каждый EXECUTE STATEMENT будет
открывать-закрывать подключение к БД. Только что "подвисать" будет не
каждая операция, а комит транзакции.
Добрый день!
Возможность выполнять EXECUTE STATEMENT на другой базе
позволяет легко реализовать надежную схему односторонней
онлайн репликации.
Но, вся засада в том, что коннект к базе открывается
каждый раз при выполнении оператора. Мы собрали у себя тестовый пример.
Изменения без репликации пр
и монады есть?:)
Понятия не имею.
короче, всем пора выпить лимонаду. тем более пятница.
если рекурсивные EB можно сделать, то это было бы
весьма неплохо.
что до общего тона дискуссии, то имея на руках проект
в 1.6М строк кода на Д5, меня тоже раздражает, когда натыкаюсь
на дискуссии о ф
а СУБД тут каким боком?
современные тенденции -- сближение технологий. LINQ, всяческие ОО
маппинги для баз данных и т.п. тому примером.
PS Не удивлюсь, если ты окажешься фанатом новомодных лямбда ф-ций (чи как
их там - когда тело ф-ции пишут в месте её вызова, без объявления) :-D
а чем плохо? лямбда функции (в виде рекурсивных EB) стали бы
конкурентным преимуществом сервера и замечательной темой для
рекламы.
добрый день!
при вызове RDB$GET_CONTEXT, поиск переменной в списке
ведется перебором, поиском по сортированному списку, по хэшу?
Андрей К.
Не рекламы ради, а исключительно для ознакомления и, быть может, пользы
дела. Тут FB в качестве движка использовали и сайт на всеобщее обозрение
выставили. Расписания автовокзалов России.
http://www.tkvc.ru/cgi-bin/awtlst.php
"arithmetic exception, numeric overflow, or string truncation"
> á ÃÃà ÃÃÃÃÃà ÃÃÃÃÃÃ
ÃÃ
ÃÃÃÃÃ. Ã¥ÃÃà ÃÃÃÃÃÃÃÃÃÃÃà "Select *", ÃÃÃà ÃÃÃ
ÃÃÃ
> ÃÃÃÃÃ Ã ÃÃÃÃÃÃÃ
à ÃÃÃÃÃÃà ÃÃÃÃÃÃÃ
ÃÃ Ã ÃÃÃÃÃÃÃ
ÃÃÃÃÃÃÃÃÃÃ? ïà ÃÃÃà Ã
> ÃÃÃÃÃÃÃÃÃ
Ã
ÃÃÃ ÃÃÃ-ÃÃÃÃÃ
ÃÃÃÃÃÃ ÃÃÃÃÃÃÃÃ: ÃÃÃÃÃÃÃÃ ÃÃ ÃÃÃÃ Ã ÃÃÃÃÃÃ, Ã
ÃÃÃ ÃÃÃ ÃÃÃÃÃ NULL? ÃÃÃÃÃÃÃ
Ã, Ã
ÃÃÃÃÃÃ 10 ÃÃÃÃ
Ã, ÃÃ
ÃÃÃÃÃÃà Ãà 100 ÃÃÃÃÃÃÃÃ. ÷ÃÃ
ÃÃà ÃÃÃÃà NULL. þÃà ÃÃà ÃÃÃÃ
ÃÃÃÃÃÃ
ÃÃÃ ÃÃ ÃÃÃÃ?
вообÑе, планиÑÑеÑÑÑ Ð¿ÐµÑенеÑÑи Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð· ФРв ÐÑÑел (коÑоÑÑе еÑе не
пеÑенеÑенÑ)
и вÑпÑÑÑиÑÑ Ð½Ð¾Ð²ÑÑ Ð²ÐµÑÑиÑ?
воÑ, поÑиÑ
онÑÐºÑ Ð½Ð°Ñали пÑобоваÑÑ Ð¤Ð 2.0, но, к ÑожалениÑ, на пеÑвÑй взглÑд
никакиÑ
ÑлÑÑÑений в плане пÑоизводиÑелÑноÑÑи не замеÑили. ÐаобоÑоÑ,
некоÑоÑÑе веÑи ÑÑали Ð
> такое ощущение, что я уже читал что-то в этом роде. у меня идея другая. а
> что если через udf делать обращение к active directory как к службе
> каталогов и производить аутентификацию средствами AD? тогда можно и права
> проставлять пользователям в AD. тогда не надо городить самопальную AC
Ð²Ð¾Ñ ÑÑаÑÑÑ, ÑаÑÑмаÑÑиваÑÑÐ°Ñ Ð²Ð¾Ð¿ÑоÑÑ Ð°ÑÑенÑиÑикаÑии полÑзоваÑелÑ
и ÑазгÑаниÑÐµÐ½Ð¸Ñ Ð¿Ñав доÑÑÑпа на ÑÑовне запиÑи в ÑиÑÑемаÑ
, иÑполÑзÑÑÑиÑ
Interbase/Firebird/Yaffil в каÑеÑÑве
"Dmitry Yemanov" <[EMAIL PROTECTED]>
сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED]
> "A K" <[EMAIL PROTECTED]> wrote:
>>
>> интересно, какую цель приследовала компания MySQL в первую очередь:
>> заполучить архитектора со
интересно, какую цель приследовала компания MySQL в первую очередь:
заполучить архитектора со знанием того, как правильно сделать транзакции и
многоверсионность или нанести удар по конкуренту?
>Дык ёлы-палы. Я, как человек где-то мудрый в некотором смысле, с
> него и не слезал, с пятого-то :-D
>
и мы на пятой версии работаем. самая оптимальная. все, что надо, уже есть,
то чего не нужно еще нет :)
Интересно, почему MySQL купила Джима, а не Дмитрия Еманова??
РлÑбом ÑлÑÑае ÑÑÑ "пÑоблемÑ" можно ÑеÑиÑÑ Ð½Ðµ на ÑÑовне библиоÑеки а на
ÑÑовне кода аппликаÑии.
можно, но когда пÑиложение ÑазÑабаÑÑвалоÑÑ 7 леÑ, деÑÑÑком Ñеловек и
>ÐаÑем же, заÑем и назнаÑÐ°ÐµÑ Ð¸Ð¼Ñ ÐºÑÑÑоÑа ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ ÑелекÑÑ. ÐÑ Ð±Ð¾Ð»ÑÑого
> Ñма
а ÑÑо плоÑ
ого в назнаÑении имени кÑÑÑоÑа ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ ÑелекÑÑ?
ÐобÑÑй денÑ,
ÐÐµÑ ÑÐµÐ¼Ñ Ñже ÑабоÑÐ°Ñ Ñ Ð¸Ð½ÑеÑбейзом, но ÑолÑко на днÑÑ
, благодаÑÑ Ð´Ð°Ð½Ð½Ð¾Ð¹
конÑеÑенÑии, Ñзнал о Ñом, ÑÑо запÑÐ¾Ñ Ð¼Ð¾Ð¶Ð½Ð¾ не анпÑепÑÑиÑÑ Ð¿Ñи завеÑÑении
ÑÑанз
ÃÃÃÃÃ
ÃÃ ÃÃ
ÃÃÃà ÃÃÃÃÃÃà ÃÃÃÃà äÃÃÃÃÃà åÃÃÃÃà ÃÃà ÃÃÃÃÃÃÃÃà ÃÃÃÃà Ãà ÃÃÃÃÃÃ
ÃÃÃÃÃÃÃ ÃÃÃÃÃÃÃÃÃÃ ÃÃÃÃÃÃ ÃÃÃ ÃÃÃÃÃÃÃÃÃ ÃÃÃÃÃÃÃÃÃÃÃÃ ÃÃÃ ÃÃÃÃÃÃÃ ÃÃÃÃ ÃÃ
ÃÃÃÃÃÃÃ. îà Ã
ÃÃÃÃÃ
à ÃÃÃ
Ã,
Ã
ÃÃÃ ÃÃÃÃÃÃÃ
ÃÃÃÃÃÃÃ
ÃÃÃ
. ÃÃÃ
ÃÃ ÃÃÃÃÃÃ, Ã
ÃÃÃ ÃÃ
ÃÃÃÃÃÃÃ ÃÃ
ÃÃÃÃÃÃ ÃÃÃÃÃÃÃÃ ÃÃ
ÃÃÃ
ÃÃÃ
,
ÃÃÃÃÃÃÃ
ÃÃÃÃÃÃÃÃÃÃ ÃÃÃÃÃÃÃÃÃÃ ÃÃÃÃÃ (ÃÃ ÃÃ
ÃÃÃÃÃÃÃ ÃÃ
ÃÃÃÃÃÃ-ÃÃÃÃ
Ã
>
> á ÃÃÃÃÃÃà ÃÃÃÃÃÃÃÃà à ÃÃÃÃÃÃà à ÃÃ
ÃÃÃÃÃÃÃÃ ÃÃÃÃ
ÃÃÃÃ ÃÃ
ÃÃÃÃ?
ÃÃ
ÃÃÃÃÃÃ
Ã. ÃÃ ÃÃÃ
ÃÃÃÃÃ ÃÃ
ÃÃÃÃÃ
ÃÃ
ÃÃÃÃÃÃÃ ÃÃÃÃÃ
ÃÃÃÃÃÃÃ ÃÃ ÃÃÃÃÃ
ÃÃÃÃÃ
ÃÃÃÃÃ
ÃÃÃÃÃÃÃÃÃ. Ã ÃÃ
ÃÃÃÃÃÃÃ
49 matches
Mail list logo