Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Delphi + Access [D7, Access]


Страницы:   1 2

Jet ©   (2005-10-31 10:43:00) 

Приветствую!
Ситуация: нужно скопировать данные из одной базы в другую, имеющую такую же структуру. В базе достаточно много таблиц.
К примеру: копирую таблицу PPERSON из одной базы в другую. Ключ по ID. Никаких проблем. Затем начинаю копировать данные (на любого человека из таблицы PPERSON) из таблицы ADDRESS (ключевое поле ID), в которой есть привязка к таблице PPERSON через поле PPERSON_ID, которое не является обязательным полем. Во время копирования возникает следующая ошибка:
“Key violation
[Microsoft][ODBC Microsoft Access Driver] You cannot add or change a record because a related record is required in table
General SQL error.
‘PPERSON’”
Эта ошибка, в данном случае, возникает именно при копировании поля PPERSON_ID.
--
Подскажите пожалуйста как избавиться от данной ошибки?


Jet   (2005-10-31 14:04:00) [21]

Попытаюсь еще раз поподробней объяснить проблему. Есть база со множеством таблиц.
--
Таблица PPERSON: ID, INN, FAMILY, NAME, OTCHESTVO, BIRTHDAY
Таблица ADDRESS: ID, PPERSON_ID, TYPE_ADDR, COUNTRY, TOWN
...
--
Эти две таблицы связаны между собой через ID из PPERSON и PPERSON_ID из ADDRESS. Мне нужно скопировать данные из одной базы в другую, причем ID из PPERSON автоинкремент, а PPERSON_ID из ADDRESS не автоинкремент.
Я выбираю данные на человека из PPERSON и заношу их в таблицу PPERSON в другой базе, с этим проблем нет. Затем я выбираю данные из таблицы ADDRESS по PPERSON_ID и пытаюсь их занести в таблицу ADDRESS другой базы, на что возникает ошибка
--
“Key violation
[Microsoft][ODBC Microsoft Access Driver] You cannot add or change a record because a related record is required in table
General SQL error.
‘PPERSON’”
--
Подскажите как избавиться от нее?


Jet   (2005-10-31 13:54:00) [22]

sniknik, я выбираю через програмку, т.е. сделал листалку базы и выбираю людей, которых мне нужно скопировать. С выбором проблем нет. Проблема в том, что я потом не могу занести данные в таблицу из-за ошибки, описанной выше.


sniknik   (2005-10-31 12:19:00) [23]

> Необходимые данные я сам выбираю.
ну так. выбирай.
WHERE ... условие необходимости ...


Jet   (2005-10-31 12:10:00) [24]

Desdechado, мне не нужно копировать все данные. Необходимые данные я сам выбираю.


Jet   (2005-10-31 12:09:00) [25]

Структура PPERSON полностью аналогичная


msguns   (2005-10-31 11:26:00) [26]

Таблица PPERSON в новой БД полностью агналогична оригиналу, в т.ч. ID ?


Desdechado   (2005-10-31 11:26:00) [27]

на 2 поста ниже слабО глянуть?
http://delphimaster.ru/cgi-bin/forum.pl?id=1130594032&n=1

Key violation - это у тебя ключи и FK сбились, видимо, автоинкремент не отключил при переливе и стартовые значения полей с автоинкрементом неодинаковые


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо