Uid уже существует. Как такое может быть?
16 апреля 2020 11:54
Как бороться с такой ситуацией?
![]()
На DEV среде был создан web service. Сделан экспорт этого сервиса стандартными средствами bmp. Далее сделан импорт этого сервиса на тестовую среду стандартными средствами bmp. Но при попытке изменить данные и сохранить сервис получаю такую ошибку.
Нравится
1 комментарий
21 апреля 2020 22:12
Судя по тексту сообщения, оно генерируется триггером TRSysSchemaIU на таблице SysSchema. В нём проверяется:
DECLARE @UId uniqueidentifier
DECLARE @SysWorkspaceName nvarchar(250)
SELECT TOP 1
@UId = [SysSchema].[UId],
@SysWorkspaceName = [SysWorkspace].[Name]
FROM [dbo].[SysSchema]
INNER JOIN [dbo].[SysPackage] ON [SysPackage].[Id] = [SysSchema].[SysPackageId]
INNER JOIN [dbo].[SysWorkspace] ON [SysWorkspace].[Id] = [SysPackage].[SysWorkspaceId]
INNER JOIN [INSERTED] [Inserted] ON [Inserted].[UId] = [SysSchema].[UId]
INNER JOIN [dbo].[SysPackage] [InsertedSysPackage] ON [InsertedSysPackage].[Id] = [Inserted].[SysPackageId]
WHERE [InsertedSysPackage].[SysWorkspaceId] = [SysPackage].[SysWorkspaceId]
AND [Inserted].[Id] <> [SysSchema].[Id]
ORDER BY [SysSchema].[UId], [SysWorkspace].[Name]
IF (@UId IS NOT NULL) AND (@SysWorkspaceName IS NOT NULL)
BEGIN
DECLARE @ExceptionMessage nvarchar(250)
SET @ExceptionMessage = N'@Terrasoft.Core,SysSchemaSchema.Exception.DuplicateUIdInWorkspace~{' +
CAST(@UId AS VARCHAR(38)) + '}~' + @SysWorkspaceName
RAISERROR (@ExceptionMessage, 16, 1)
ROLLBACK TRANSACTION
ENDТо есть у Вас в системе откуда-то взялась схема с другим Id, но таким же UId и рабочим пространством. Связана ли она с той, что только что добавили, кто и когда её внёс, можно посмотреть, отправив такой же запрос, но со всеми полями.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать