|
Ошибка при внесении данных в базу
|
|||
---|---|---|---|
#18+
Имеется программа для ввода путевых листов написанная в Power Builder 9.0, база данных Sybase ASA 7.0.3.2054. При вводе путевого листа и последущего его сохранения вылезла вот такая вот ошибка. Error while Inserting row 1 Data Base error Number is: -193 Data Base error Message is: SQLSTATE = 23000 [Sybase][ODBC Driver][Adaptive Server Anywhere]Integrity constraint violation: Primary key for table 'WAYLIST_TECH' is not unique No changes made to database. INSERT INTO "waylist_tech" ( "number_waylist_t", "archives_numb", "regime_of_work", "id_automobile", "date_input_tech", "rest_gsm_out_t", "rest_gsm_in_t", "spidometr_out_t", "spidometr_in_t", "autoclock_out_t", "autoclock_in_t", "time_out_t", "time_in_t", "id_driver", "dri_id_driver", "dri2_id_driver", "dri3_id_driver", "fillup_gsm_t", "real_begin_end_time", "real_empty_way", "change_time_order", "change_prepare_time", "smens_numb", "increase_quota", "id_nsi_gsm", "status" ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? Причем ошибка вылазит не на все машины. Помогите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2013, 07:44 |
|
Ошибка при внесении данных в базу
|
|||
---|---|---|---|
#18+
Все решенно! Продублированные записи были. Всем спасибо за внимание. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2013, 08:13 |
|
Ошибка при внесении данных в базу
|
|||
---|---|---|---|
#18+
d.v.kramarenko, Добрый день. Конечно, гадать весьма трудно. Как Вы видите у Вас дублирование значения первичного ключа 'WAYLIST_TECH', который должен быть уникален. Судя по тому, что Вы используете весьма древнюю 7 версию, то видимо разработчики при проектировании не рассчитывали, что у Вас будет несколько рабочих мест и номер "number_waylist_t" формируется автоматически по некоторому принятому разработчиками алгоритму. Например, выбирается последнее или максимальное значение и добавляется единица (все это, например, происходит в триггере). В этом случае оператор на одном рабочем месте увидит автоматически сформированный номер для последующего добавления записи в БД. В этот момент другой оператор, более шустрый успевает ввести свою информацию, которой присвоен номер документа, который был сформирован для первого оператора. Когда первый оператор подтверждает завершение ввода информации, в БД уже есть запись с таким номером, так как второй оператор успел ввести запись с таким номером. Типичная ошибка проектирования. Обратитесь к разработчику для модернизации программы, работающей в сети. Успехов Вам. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2013, 08:18 |
|
Ошибка при внесении данных в базу
|
|||
---|---|---|---|
#18+
24.04.2013 9:18, ARTURV пишет: > 'WAYLIST_TECH', который должен быть уникален. Судя по тому, что Вы > используете весьма древнюю 7 версию, то видимо разработчики при > проектировании не рассчитывали, что у Вас будет несколько рабочих мест и > номер "number_waylist_t" формируется автоматически по некоторому > принятому разработчиками алгоритму. Например, выбирается последнее или > максимальное значение и добавляется единица Если говорить без обиняков - разработчики были долбо@#ами: автоинкремент в SA имеется с лохматых времён и настоятельно рекомендован к применению разработчиками сервера. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2013, 11:01 |
|
|
start [/forum/topic.php?fid=55&fpage=11&tid=2009977]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 244ms |
total: | 403ms |
0 / 0 |