Вопрос

Uid уже существует. Как такое может быть?

Как бороться с такой ситуацией?

Изображение удалено.

На DEV среде был создан web service. Сделан экспорт этого сервиса стандартными средствами bmp. Далее сделан импорт этого сервиса на тестовую среду стандартными средствами bmp. Но при попытке изменить данные и сохранить сервис получаю такую ошибку. 

Нравится

1 комментарий

Судя по тексту сообщения, оно генерируется триггером 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 и рабочим пространством. Связана ли она с той, что только что добавили, кто и когда её внёс, можно посмотреть, отправив такой же запрос, но со всеми полями.

Показать все комментарии