Добрый день!
Поскольку Temp-файл ограничен в объеме 2 гб, мне приходится его периодически чистить.
Для этого я пользовалась DELETEALL.
К сожалению, когда он большой, то чистка его занимает также приличное время.
Сделала его постоянным и написала функцию удаления на SQL.
Увы, я уже второй раз сталкиваюсь с этой проблемой, по какой-то причине SQL второй раз не хочет его чистить.
Привожу фрагменты:
ConnectSQL();
_TableName := STRSUBSTNO('[dbo].[%1', COMPANYNAME) + '$Debts Forma 5 Buffer]';
_TableName1 := STRSUBSTNO('[dbo].[%1', COMPANYNAME) + '$Debts Forma 5 Buffer1]';
strSQL := STRSUBSTNO('USE [%1]; SET LOCK_TIMEOUT -1;',DatabaseName);
strSQL += 'declare @str varchar(4000)';
strSQL += ' set @str = ''DELETE with(TABLOCK) FROM ''+' +'''' + _TableName+ ''''+ '' +
'+'' DELETE with(TABLOCK) FROM ''+' +'''' + _TableName1+ ''''+ ''+ ' exec (@str)';
..................
adocon.Execute(_strSQL);
|