Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Local View и связи БД / 5 сообщений из 5, страница 1 из 1
27.01.2010, 13:47
    #36433598
_usa__83_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Local View и связи БД
День добрый!

Вот такой маленький вопросик. Есть БД с десятком таблиц и связей (настроена ссылочная
целостность). Делаю Local View основанный на 4-х таблицах этой БД. Естественно он появляется в
БД, но при попытке ребилдать ссылочную целостность пишет "DBC internal consistency error".
Как вообще сосуществуют представления БД с таблицами БД?
...
Рейтинг: 0 / 0
27.01.2010, 19:21
    #36434598
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Local View и связи БД
Нормально существуют. Просто Вы наткнулись на глюк модификации контейнера базы данных. От того, как именно Вы его модифицируете ничего не зависит. Это может произойти, например, и после создания новой таблицы. Тут важен сам факт модификации.

Такое обычно бывает в двух случаях:

1. Включен какой-либо антивирус, который контролирует файлы с расширениями DBC, DCT, DCX (это файлы контейнера базы данных). Вот антивирус и "гадит". Очень этим "славится" Касперский.

2. Выполненные модификации еще не сброшены из системного буфера в собственно файлы. Т.е. после создания Local View желательно перезагрузить FoxPro, чтобы системный кеш был сброшен. Других способов сброса кеша нет.

Также перед ребилдом ссылочной целостности очень желательно сделать упаковку контейнера базы данных. Это пункт меню DataBase \ Clean Up DataBase
...
Рейтинг: 0 / 0
29.01.2010, 08:27
    #36437668
_usa__83_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Local View и связи БД
ВладимирМ,

Ок попробуем....
А как насчет правильности сброса значений в исходные таблицы? неужели вне зависимости от количества и типов соединений, представление "умеет" правильно сбрасывать значения в исходные таблицы?..
...
Рейтинг: 0 / 0
29.01.2010, 11:46
    #36438149
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Local View и связи БД
_usa__83_А как насчет правильности сброса значений в исходные таблицы? неужели вне зависимости от количества и типов соединений, представление "умеет" правильно сбрасывать значения в исходные таблицы?..
Вы, собственно, о чем?

Физически, Local View - это обычная команда Select-SQL результат которой записывается в некий курсор. А теперь поставьте себя на место разработчиков FoxPro. У Вас есть курсор. В нем сделали некие изменения. Как перенести сделанные изменения из этого курсора в исходные таблицы?

Ну, очевидно, аналогичными командами Update-SQL, Insert-SQL, Delete-SQL. Что для этих команд нужно? В первую очередь ключевое поле. Идентификатор записи. Чтобы определить какую именно запись исходной таблицы следует создать/изменить/удалить. Затем, список полей, изменение в которых будем отслеживать. В смысле, изменения в которых надо переносить в исходную таблицу.

Вот это и настривается на закладке Update Criteria в дизайнере Local View.

Ну, еще нужна схема соответствия. В смысле, какое поле исходной таблицы какому полю курсора соответствует. Но это настривается на закладке Fields, когда формируется собственно запрос Select-SQL

Также очевидно, что дизайнер Local View не в состоянии корректно обработать сброс изменений в несколько таблиц одновременно. В смысле, если источником данных Select-SQL является несколько таблиц и надо отслеживать изменение в полях, созданных из разных таблиц. Поэтому, хотя Local View и можно построить из нескольких связанных таблиц, но вот сброс изменений желательно делать только в одну из таблиц-источников Local View.

Другими словами, количество и типы соединений вообще не имеют никакого отношения к работе Local View.
...
Рейтинг: 0 / 0
29.01.2010, 11:52
    #36438174
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Local View и связи БД
2 _usa__83_
надоест бить руки - осуществите поиск информации про курсорадаптер
и примеры построения фреймворков с использованием курсорадаптеров.

чтобы не бить руки - в помощь для начала преобразователь,
чтобы поиграться.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Local View и связи БД / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]