|
|
|
Хранимые процедуры в DBC
|
|||
|---|---|---|---|
|
#18+
Привет, Какие минусы писать процедуры внутри контейнера базы данных (именно Фокса - .DBC)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 12:56 |
|
||
|
Хранимые процедуры в DBC
|
|||
|---|---|---|---|
|
#18+
Контейнер закрыт - процедура недоступна. Обновлять сложнее. Так EXE заменил и все, а тут еще в контейнер надо отследить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 12:58 |
|
||
|
Хранимые процедуры в DBC
|
|||
|---|---|---|---|
|
#18+
Dima TКонтейнер закрыт - процедура недоступна. Обновлять сложнее. Так EXE заменил и все, а тут еще в контейнер надо отследить. Замена любого файла рабочего проекта относительно сложная операция. Не вижу чем принципально замена файлов DBC, DCT, DCX так уж сложнее, чем замена файла EXE. Надо думать не о плюсах/минусах, а о решаемых задачах. Т.е. ЧТО должна делать эта процедура? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 14:29 |
|
||
|
Хранимые процедуры в DBC
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Замена любого файла рабочего проекта относительно сложная операция. Не вижу чем принципально замена файлов DBC, DCT, DCX так уж сложнее, чем замена файла EXE. Alter table и контейнер уже другой, стоит только заменить после этого DBC, DCT, DCX и несовпадающая таблица или даже вся база не открываются. А если весь код в EXE то заменил, там проверка структуры базы отработала, что надо добавила и готово. Да и автозамена EXE уже отработана, у меня. Для замены кода процедур надо контейнер как DBF открывать и писать новый код куда-то в мемо-поле. В контейнере обычно держу только код для генерации ID для 6-ки. В 9-ке это уже не надо, думаю если на 9-ке что-то новое с DBFками делать буду - совсем от контейнера откажусь. ВладимирМНадо думать не о плюсах/минусах, а о решаемых задачах. Согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 14:54 |
|
||
|
Хранимые процедуры в DBC
|
|||
|---|---|---|---|
|
#18+
ИМХО ХП надо писать те, которые обслуживают БД во время ее разработки. Тогда если и другой програмусей будут цеплятся к этой БД, то она будет отслеживать свою целостность сама. Остальное в программе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 15:32 |
|
||
|
Хранимые процедуры в DBC
|
|||
|---|---|---|---|
|
#18+
Dima TДа и автозамена EXE уже отработана, у меня. Думаю, в этом и причина первоначального ответа. Просто нет опыта замены контейнера базы данных. Dima TДля замены кода процедур надо контейнер как DBF открывать и писать новый код куда-то в мемо-поле Не надо. Надо просто заменять . Также как и EXE. Новым файлом. Разумеется, нужна предварительная синхронизация структуры таблиц. Впрочем, то же самое делается и при замене EXE. Ничего особо сложного Dima TВ контейнере обычно держу только код для генерации ID для 6-ки. В 9-ке это уже не надо, думаю если на 9-ке что-то новое с DBFками делать буду - совсем от контейнера откажусь. Зря. Есть еще много чего, что логично располагать в контейнере базы данных. Default-значения, RULE, триггера, Format и InputMask уровня полей, длинные имена полей (больше 10 символов). Объекты Local View. Ну, и до VFP9 невозможно было организовать транзакцию для таблиц не включенных в контейнер базы данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 16:33 |
|
||
|
Хранимые процедуры в DBC
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Dima TДа и автозамена EXE уже отработана, у меня. Думаю, в этом и причина первоначального ответа. Просто нет опыта замены контейнера базы данных. Есть. Из GENDBC вытащил, добавляю когда базу с нуля генерю: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ВладимирМ Dima TДля замены кода процедур надо контейнер как DBF открывать и писать новый код куда-то в мемо-поле Не надо. Надо просто заменять . Также как и EXE. Новым файлом. Разумеется, нужна предварительная синхронизация структуры таблиц. Впрочем, то же самое делается и при замене EXE. Ничего особо сложного Наступал на такие грабли: если поля согласованы но в другом порядке идут то таблица тоже не открывается. А это реально. в одном месте обновилось и поле в конец добавилось (ALTER TABLE), в другом месте с нуля база создана новой версией и поле в середине (так в CREATE TABLE поставлено). Или конкретный экземпляр пяток обновлений пропустил, а там в коде порядок ALTER TABLE изменился. Если на 55-ю версию сразу 60-ю накатить. Это я утрировано, реально сложно уследить когда код обновления содержит все проверки от 1-й до 200-й версии и обновление рассчитано на переход на 200-ю с той версии какая есть. Простое разбито по таблицам, сложные обновления с перерасчетами в кучку несколько таблиц. ВладимирМЗря. Есть еще много чего, что логично располагать в контейнере базы данных. Default-значения, RULE, триггера, Format и InputMask уровня полей, длинные имена полей (больше 10 символов). Объекты Local View. Из всего этого только LV нужно, в 9ке курсорадаптер есть. ВладимирМНу, и до VFP9 невозможно было организовать транзакцию для таблиц не включенных в контейнер базы данных. Если честно не знал, после того как написал вспомнил про транзакции. Хорошо что можно в 9-ке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 17:16 |
|
||
|
Хранимые процедуры в DBC
|
|||
|---|---|---|---|
|
#18+
Dima TКонтейнер закрыт - процедура недоступна. Обновлять сложнее. Так EXE заменил и все, а тут еще в контейнер надо отследить. +1 Хлопотно это с контейнером базы данных (много было проблем даже при аккуратной работе)... Да и в монопольный режим надо DBC :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2008, 23:48 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35323028&tid=1587761]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
82ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 407ms |

| 0 / 0 |
