![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Триггер счетчика [D5, IB6.x]
Донской © (2004-09-02 17:16:00)День добрый. чисто ламерский вопрос.
В Interbase expert создал первичный ключ в виде счетчика. И сама интербейз експерт предложила создать для него триггер и генератор. Я их создал, базу закрыл.
Когда коннектюсь к ней из дельфи с помощью TIBTable и пытаюсь добавить запись, то после команды post выдается ошибка, что ключевое поле не заполнено.
Разве триггер на стороне сервера не должен это делать сам?
Донской (2004-09-03 13:52:00) [1]Хорошо.
апдейт поищу, спасибо что разъяснил, Zacho.
Sergey13, прости если разозлил.
Zacho (2004-09-03 13:49:00) [2]Или поставь апдейт IBX и используй TIBConfigService.ShutdownDatabase, или используй gfix.exe Описание работы с gfix можно найти в Operations Guide
Zacho (2004-09-03 13:47:00) [3]
> Донской (03.09.04 13:35) [28]
И ещё раз: shutdown
Правда, SYSDBA это не отключит, ну и нефиг подключаться нескольким SYSDBA одновременно.
P.S. И всё-таки ты решаешь задачу совершенно неподходящим способом. Лучше разберись, почему у тебя тормоза были.
Донской (2004-09-03 13:46:00) [4]и на том спасибо.
Может я не понял намека из=за того, что не знаю определения слова зашатдаунить.
не просвятишь? мы наверное друг друга не поняли.
Донской (2004-09-03 13:44:00) [5]и на том спасибо.
Sergey13 (2004-09-03 13:42:00) [6]2[28] Донской (03.09.04 13:35)
Да делай как хочешь. Я тебе вполне конкретно намекал, что твои методы работы не соответствуют задаче. Не хочешь - не надо.
Я советов типа "как мне легче повеситься" не даю.
Донской (2004-09-03 13:35:00) [7]окей.
я про абстрагирование написал для того, чтобы ты не пытался выяснить зачем именно мне создавать ключ и не выносил суждения о приемлемости в данном конкретном случае, а предоставил этот вопрос решать мне. Я не спорю, что ты опытней меня, иначе я бы сюда не зашел. Меня только интересует вопрос - как открыть монопольный доступ к базе с тем чтобы получить доступ на добавление внешних ключей. Это сложно?
Sergey13 (2004-09-03 13:04:00) [8]2[24] Донской (03.09.04 13:01)
>Но вот если абстрагироваться от конкретно моей задачи, и подумать в общем.
Тебе надо задачу решать или ты о вечном поболтать хочешь? 8-)
Если пасатижами неудобно гвозди забивать, то необязательно утяжелять пасатижи. Можно просто молоток взять.
Zacho (2004-09-03 13:04:00) [9]Донской (03.09.04 13:01) [24]
Я же уже сказал. Зашатдаунить БД.
А вообще, не понимаю, как постоянное создание новой таблицы может помочь.
Все-таки что-то неправильно ты делал, если тормоза были.
Донской (2004-09-03 13:03:00) [10]Sergey13,
1) я ttable не использую. у меня сейчас tibtable.
2) код для тестирования.
Донской (2004-09-03 13:01:00) [11]Не, хорошо.
Я все понимаю. Но вот если абстрагироваться от конкретно моей задачи, и подумать в общем. Если есть sql запрос, который позволяет создавать внешний ключ, но при этом таблица должна быть открыта в монопольном доступе, то как это сделать???
Должен быть метод. Кто-нибудь знает?
Sergey13 (2004-09-03 13:01:00) [12]2[20] Донской (03.09.04 12:53)
1.А зачем ты выполняешь код из [3]?
2.Зачем используешь TTable?
Sergey13 (2004-09-03 12:55:00) [13]2[20] Донской (03.09.04 12:53)
Это все лирика. Ты структуру приведи и методы работы опиши.
Роман Снегирев (2004-09-03 12:54:00) [14]короче нужно поставить Required=false у ключевого поля, а вообще пора переходить на FibPlus
Донской (2004-09-03 12:53:00) [15]Zacho,
да все вроде верно. Никаких наворотов. Просто таблица из 63 полей и к ней обращается tdbchart. Но после нескольких часов работы начинается подтормаживание при добавлении данных.
А представь такая лапша из данных в одной таблице для нескольких испытаний по несколько часов каждое, даже если она будет отфильтрована по текущему испытанию? Тормоза.
Вот поэтому я и хочу для каждого испытания создавать отдельную таблицу.
Sergey13 (2004-09-03 12:52:00) [16]2[17] Донской (03.09.04 12:48)
>нет такого компонета, у меня в палитре, по крайней мере.
Пропатчи ИБХ. На ibase.ru можно скачать.
Zacho (2004-09-03 12:50:00) [17]Донской (03.09.04 12:48) [17]
Поставь апдейт IBX. Или используй gfix.exe
Донской (2004-09-03 12:48:00) [18]Zacho,
нет такого компонета, у меня в палитре, по крайней мере.
А что он позволяет делать?
Zacho (2004-09-03 12:48:00) [19]
>Донской (03.09.04 12:38) [10][Ответить]
> Дело в том, что программа длительное время
> осциллографирует данные. Данные должны храниться в
> отдельной таблице, чтобы можно было использовать
> tdbchart для их отрисовки. Иначе будут глобальные
> тормоза не только при отрисовке, но и при добавлении
> данных (63 поля = 63 канала данных), тормоза
> проверены, этот вариант отпал.
Не понимаю, с чего бы взялись тормоза. Что-то ты неправильно делал.
>Донской (03.09.04 12:42) [13][Ответить]
>а, кажется нашел.
> надо заполнить поле params у компонента tibdatabase
??? И какие параметры помогут подключиться к БД "монопольно" ?
Донской (2004-09-03 12:46:00) [20]хотя нет, не помогло. Они уже были заполнены,
и даже если логинпромт поставить в труе, и при запросе пароля ввести sysdba то все равно выскакивает ошибка is in use.
Хотя база открыта локально на моей машине только мной.