Поиск:

Ответ в темуСоздание новой темы Создание опроса
> violation of FOREIGN KEY 
:(
    Опции темы
KiSH333
Дата 17.2.2009, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 14.8.2008

Репутация: 0
Всего: 0



Привет всем! у меня возникла проблема с синхронизацией БД!
при синхр вылетает ошибка 
violation of FOREIGN KEY constraint "RELATIONOSWITHGU"
т.к. это DLLка то тестировать оч трудно, подскажите на что может это ругаться, просто не пойму в каком направлении рыть. 
PM MAIL   Вверх
Frees
Дата 17.2.2009, 15:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 23
Всего: 54



Цитата(KiSH333 @  17.2.2009,  16:52 Найти цитируемый пост)
т.к. это DLLка то тестировать оч трудно, подскажите на что может это ругаться, просто не пойму в каком направлении рыть. 

а в чем проблема? укажи приложение которое ее грузит и отлаживай как обычно

Добавлено через 1 минуту и 31 секунду
Run -> parametrs -> Host Application


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Akella
Дата 17.2.2009, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(KiSH333 @  17.2.2009,  14:52 Найти цитируемый пост)
violation of FOREIGN KEY constraint "RELATIONOSWITHGU"

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

Добавлено через 8 минут и 42 секунды
Ссылочная целостность
PM MAIL   Вверх
KiSH333
Дата 18.2.2009, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 14.8.2008

Репутация: 0
Всего: 0



Akella, спс за коммент... начал смотреть что к чему и нарушения целостности чет не могу найти!

user posted image

Есть вторая база, основная которая синхронизируется с другой. В основной также в табличке ОS я добавил новую запись, ни как она условиям не противоречит но сейчас не идет синхронизация. Ошибку я писал выше violation of FOREIGN KEY constraint "RELATION OS WITH GU"
Так же выше привел зависимость OS от GU, посмотрел тоже вроди условиям не противоречит. Добавил даже в ручную, точно такую же запись в нее, но все равно тоже самое!

вот такая вот беда))

Это сообщение отредактировал(а) KiSH333 - 18.2.2009, 12:04
PM MAIL   Вверх
Akella
Дата 19.2.2009, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(KiSH333 @  18.2.2009,  11:58 Найти цитируемый пост)
нарушения целостности чет не могу найти!

Зачем её  искать? Ссылочную целостность обеспечивает твой внешний ключ "RELATIONOSWITHGU". Вот поэтому-то сервак тебя и пинает за то, что НЕТ ССЫЛКИ записи из главной таблицы на запись в подчинённую таблицу.


Ты так и не понял. Прочти внимательно и несколько раз опять моё сообщение.
Цитата(Akella @  17.2.2009,  15:36 Найти цитируемый пост)
ты в главную таблицу добавляешь запись, которая ссылается на запись в другой таблице, а в другой таблице пока что такой записи нет.





PM MAIL   Вверх
Akella
Дата 19.2.2009, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Смотри, допустим есть 2 таблицы: главная и подчинённая.
Главная: ID, Name, id_detail
Подчинённая: ID, Name

есть между ними внешний ключ по полям: id(подчинённая) и id_detail(главная). Такая вот связь, внешний ключ, ссылочная целостность.

Допустим, что в подчинённой есть 2 записи:
Цитата

ID   |   NAME
----------------
10   | ВАСЯ
11   | КЛАВА


теперь ты вставляешь запись в главную

Код

insert into main_table (ID, NAME, ID_DETAIL) values (1532, 'Менеджеры', 12)


Обрати внимание на 12!!! Если выполнить такой код, то у тебя получится, что ты будешь вставлять запись с ID_DETAIL= 12, а записи с ID = 12 в подчинённой таблице нет, не на что ссылаться. Понимаешь о чём я?

Добавлено через 2 минуты и 42 секунды
Т.е., чтобы не было у тебя ошибки, перед добавлением записи в главную таблицу, тебе нужно добавить запись с ID = 12 в подчинённую
Код

insert into detail_table (ID, NAME) values (12, 'КОЛЯ')


Это сообщение отредактировал(а) Akella - 19.2.2009, 01:05
PM MAIL   Вверх
KiSH333
Дата 19.2.2009, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 14.8.2008

Репутация: 0
Всего: 0



Akella, это что ж получается, что я в главную таблицу не могу добавить запись, даже если в подчиненной пока что нет ни чего???

Т.е. из твоего примера, когда ты добавляешь Должность "Менеджеров", грубо говоря, я не могу добавить сегодня, когда штат будет формироваться через месяц к примеру? 

Я думал что если в дочерней нет записей пока, ее смело можно добавлять сразу в главную?
PM MAIL   Вверх
Akella
Дата 19.2.2009, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



давляй с id_detail = null
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0715 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.