Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата

Наши программы => УкрСклад => Тема розпочата: yastrema від Жовтень 03, 2017, 09:56:11

Назва: Реплікація бази даних
Відправлено: yastrema від Жовтень 03, 2017, 09:56:11
Що робити коли при реплікації бази даних викидає помилку?  (DataM.sSyncDo:
Arithmetic overflow or division by zero has occurred.Arithmetic exception, numeric overflow, or string truncation.
String right truncation.)
Назва: Re: Реплікація бази даних
Відправлено: maxmokry від Жовтень 03, 2017, 12:09:04
Ощущение, что пытаетесь влить в поле больше данных, чем оно вмещает...
Вручную размер полей в БД не меняли в той базе, из которой приходит репликация?
Назва: Re: Реплікація бази даних
Відправлено: syuli від Жовтень 04, 2017, 09:45:22
Налаштовую реплікацію, вчора все працювало правильно, а сьогодні зранку при передачі із головного офісу на віддалений видало помилку

DataM.sDo:
Invalid insert or update value(s): object columns are constrained - no 2 table rows can have duplicate column values.
Violation of PRIMARY or UNIQUE KEY constraint "PK_TOVAR_CENA_LOG" on table "TOVAR_CENA_LOG".
Problematic key value is ("NUM" = 143878).

В чому може бути проблема і як її виправити?
Назва: Re: Реплікація бази даних
Відправлено: maxmokry від Жовтень 04, 2017, 10:09:08
Цитата: syuli від Жовтень 04, 2017, 09:45:22
Налаштовую реплікацію, вчора все працювало правильно, а сьогодні зранку при передачі із головного офісу на віддалений видало помилку

DataM.sDo:
Invalid insert or update value(s): object columns are constrained - no 2 table rows can have duplicate column values.
Violation of PRIMARY or UNIQUE KEY constraint "PK_TOVAR_CENA_LOG" on table "TOVAR_CENA_LOG".
Problematic key value is ("NUM" = 143878).

В чому може бути проблема і як її виправити?

Думаю, что такой информацией как журнал изменения цен на товар можно пожертвовать.

- Сделайте бекап БД на подчиненном (куда вливаете репликацию)
- в окне SQL выполните команду: delete from TOVAR_CENA_LOG where NUM=143878

Попробуйте сделать репликацию еще раз. Скорее всего выдаст аналогичную ошибку, но с другим номером записи (так как ругалось: 2 table rows can have duplicate column values). Удалите и ее. После этого процесс репликации скорее всего пройдет нормально.

Если не получится - восстановите БД из бекапа и нужно будет думать дальше.
Назва: Re: Реплікація бази даних
Відправлено: syuli від Жовтень 04, 2017, 10:39:56
В чому може бути причина? на віддаленому офісі нічого не манялось, реплікацію налаштувала вчора і з базою там ніхто не працював, працювали тільки на головному. Сьогодні зранку зайшла передати дані із головного офісу на віддалений і виникла ця помилка
Назва: Re: Реплікація бази даних
Відправлено: admin від Жовтень 04, 2017, 11:10:40
Цитата: yastrema від Жовтень 03, 2017, 09:56:11
Що робити коли при реплікації бази даних викидає помилку?  (DataM.sSyncDo:
Arithmetic overflow or division by zero has occurred.Arithmetic exception, numeric overflow, or string truncation.
String right truncation.)

Цитата: syuli від Жовтень 04, 2017, 09:45:22
Налаштовую реплікацію, вчора все працювало правильно, а сьогодні зранку при передачі із головного офісу на віддалений видало помилку

DataM.sDo:
Invalid insert or update value(s): object columns are constrained - no 2 table rows can have duplicate column values.
Violation of PRIMARY or UNIQUE KEY constraint "PK_TOVAR_CENA_LOG" on table "TOVAR_CENA_LOG".
Problematic key value is ("NUM" = 143878).

В чому може бути проблема і як її виправити?

Пишите на поддержку.
п 1.2. https://www.softbalance.com.ua/forum/index.php/topic,426.0.html (https://www.softbalance.com.ua/forum/index.php/topic,426.0.html)
Назва: Re: Реплікація бази даних
Відправлено: syuli від Жовтень 04, 2017, 12:15:02
Ще питання по реплікації. Кожен із віддалених офісів може працювати із своїми документами, що робити, якщо потрібно на віддаленому офісі відредагувати документ, створений на головному? (наприклад, зробили на основному офісі рахунок для клієнта, а потім клієнт прийшов в магазин (він працює через реплікацію як віддалений офіс) і попросив змінити рахунок)

І ще одна ситуація: один із магазинів працює з базою даних напряму через інтернет, але зв'язок нестабільний, думаємо про те, щоб перевести його на роботу через реплікацію, і тут виникає проблема, оскільки тоді він не зможе працювати із своїми документами, створеними до того.
Назва: Re: Реплікація бази даних
Відправлено: admin від Жовтень 10, 2017, 16:48:57
Цитата: syuli від Жовтень 04, 2017, 12:15:02
Ще питання по реплікації. Кожен із віддалених офісів може працювати із своїми документами, що робити, якщо потрібно на віддаленому офісі відредагувати документ, створений на головному? (наприклад, зробили на основному офісі рахунок для клієнта, а потім клієнт прийшов в магазин (він працює через реплікацію як віддалений офіс) і попросив змінити рахунок)

Вообще репликация была задумана для отдельной работы магазина, чтобы каждый из пользователей работал только со своим документом и на своей точке. Например если вы создали документ на главке, передали на удаленку, вы его опять изменили на главке и на удаленке его тоже изменили, передаете данные в главку и что делать? Где главные изменения?
Вот поэтому документ и сливается т.к. нет приоритета и непонятно чьи данные более верные. Если и редактировать документ на другой точке, то надо 100% гарантию что этот документ не редактировали на первой точке.

Цитата: syuli від Жовтень 04, 2017, 12:15:02
І ще одна ситуація: один із магазинів працює з базою даних напряму через інтернет, але зв'язок нестабільний, думаємо про те, щоб перевести його на роботу через реплікацію, і тут виникає проблема, оскільки тоді він не зможе працювати із своїми документами, створеними до того.

Да, не сможет. Можно включить такую опцию (редактирование документов главки), но это принесет куча проблем. Попробуйте RDP, тогда даже если соединение оборвет, то это не скажеться на базе, вы просто прекратите видеть картинку (удаленный рабочий стол), а ваш УкрСклад Клиент останеться подключенный в программу, просто перезайдете и начнете работу с того же самого места.