1С прописывает лицензии в базах поэтому их не получается перенести на другой сервер. Чтобы стереть данные из баз нужно выполнить SQL запрос на сервере БД
--select * from [master].[sys].[databases]
--кого пропустить ('master','tempdb','model','msdb')
declare @name nvarchar(512)
declare @cmd nvarchar(512)
DECLARE @Cursor CURSOR
SET @Cursor = CURSOR FOR
select name from [master].[sys].[databases]
where not name in ('master','tempdb','model','msdb')
OPEN @Cursor
FETCH NEXT FROM @Cursor INTO @name
WHILE (@@FETCH_STATUS = 0)
BEGIN
--print @name
set @cmd =
'USE ['+@name+']
UPDATE Files
SET BinaryData = CONVERT(varbinary(max),''''), datasize = 0
WHERE FileName = ''c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl''
GO'
print @cmd
--exec (@cmd)
FETCH NEXT FROM @Cursor INTO @name
end
для PostgreSQL код будет таким
-- Проверить наличие записи
SELECT *
FROM files
WHERE filename = 'c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl';
-- Очистить данные лицензии
UPDATE files
SET
binarydata = ''::bytea,
datasize = 0
WHERE filename = 'c01b78f6-1525-41b1-9cc1-69e3da58d2ac.pfl';
+ There are no comments
Add yours