![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Delphi + Access [D7, Access]
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 сбились, видимо, автоинкремент не отключил при переливе и стартовые значения полей с автоинкрементом неодинаковые