|
Попытка вставки неуникального значения в уникальный индекс | ☑ | ||
---|---|---|---|---|
0
Nenaviwu1c20
20.07.12
✎
13:51
|
Здравствуйте.Знаю эта тема надоела всем и все же я повторю ее))
Начат автоматический обмен данными по настройке "OMG" (14:04:57). Получение почтовых сообщений Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Попытка вставки неуникального значения в уникальный индекс: Microsoft OLE DB Provider for SQL Server: Cannot insert duplicate key row in object 'dbo._AccumRg17789' with unique index '_Accum17789_ByPeriod_TRN'. HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2601, line=1 Чтение данных из файла обмена завершено с ошибками! Обмен данными по настройке "OMG" завершен (14:13:20). |
|||
1
Nenaviwu1c20
20.07.12
✎
13:52
|
Хелп плз!!!Гилева 10 раз перечитал и попробовал
|
|||
2
Nenaviwu1c20
20.07.12
✎
14:03
|
ап
|
|||
3
Nenaviwu1c20
20.07.12
✎
14:11
|
Еще один ап
|
|||
4
mistеr
20.07.12
✎
14:25
|
Не надо паниковать. Надо выяснить что за регистр и почему приехали неуникальные данные.
|
|||
5
Nenaviwu1c20
20.07.12
✎
14:28
|
Регистр ТоварыНаСкладах через ПолучитьСтруктуруХраненияБазыДанных() узнал
|
|||
6
Nenaviwu1c20
20.07.12
✎
14:28
|
А данные приехали думаю во время того что когда шел обмен отключился свет)УПС не потянул))
|
|||
7
Nenaviwu1c20
20.07.12
✎
14:33
|
нулевые значения выяснил и удалил через SQL и еще пересчет итогов отключил и это тоже не помогло
|
|||
8
Nenaviwu1c20
20.07.12
✎
14:37
|
Такого поля как _KeyField вообще нт в таблице
|
|||
9
Nenaviwu1c20
20.07.12
✎
14:46
|
ап +
|
|||
10
МихаилМ
20.07.12
✎
15:00
|
либо разрешите запись задвроенных отключив индекс.
затем поиск задвоенных и исправление (удаление свертка) перестройка индекса. либо выяснение какие данные задвоенны с помощью ТЖ или ms sql профайлера затем либо удаление данных из файла обмена (с ссответствующей правкой контрольных сумм и колва записей) или перехват загрузки путем создания триггера на вставку и отмера при загрузке. если прадположить, что задвоенных данных 1-2 позиции то 2 способ если больше то первый |
|||
11
МихаилМ
20.07.12
✎
15:08
|
+(10)
можно попробовать 3-й способ (но как - не знаю) : загрузить данные в "пустую базу" с настройками для обмена и затем проанализировать загруженные данные |
|||
12
Nenaviwu1c20
20.07.12
✎
15:08
|
Спасибо щас пробовать буду.Единственная проблема в том что я в SQL не силен.Я 1с-специалист.Но все же попробовать надо
|
|||
13
Nenaviwu1c20
20.07.12
✎
15:12
|
Первый способ более реален думаю т.к. я не могу в точности сказать даже примерное кол-во повторяющихся индексов
|
|||
14
Nenaviwu1c20
20.07.12
✎
15:17
|
Если есть возможность опишите использование первого способа
|
|||
15
Bober
20.07.12
✎
15:28
|
||||
16
Nenaviwu1c20
20.07.12
✎
15:32
|
(2)
|
|||
17
МихаилМ
20.07.12
✎
15:44
|
(14)
удаление индекса DROP INDEX ['_Accum17789_ByPeriod_TRN] ON [dbo].['_Accum17789] поиск дублей select * from _Accum17789 Acc (NOLOCK) inner join ( select _Period _RecorderTRef _RecorderRRef _LineNo from _Accum17789 (NOLOCK) group by _Period _RecorderTRef _RecorderRRef _LineNo having count(*) > 1 ) doubles ON doubles._Period = Acc._Period doubles._RecorderTRef = Acc._RecorderTRef doubles._RecorderRRef = Acc._RecorderRRef doubles._LineNo = Acc._LineNo создание индекса CREATE UNIQUE CLUSTERED INDEX [Accum17789_ByPeriod_TRN] ON [dbo].[Accum17789] ( [_Period] ASC, [_RecorderTRef] ASC, [_RecorderRRef] ASC, [_LineNo] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] |
|||
18
Nenaviwu1c20
20.07.12
✎
15:51
|
Большущее СПАСИБО!!!!!!!!!Работает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |