Connection = Новый COMОбъект("ADODB.Connection");
Command = Новый COMОбъект("ADODB.Command");
Connection.Open отрабатывает нормально, далее делаю
Command.CommandText = "truncate table [dbo].[_InfoRg81830]";
Command.Execute();
Command.CommandText = СтрШаблон("dbcc Shrinkdatabase (%1)",ИмяБазы);
Command.Execute();
Вот первый execute отрабатывает, а на втором вываливается :
{ВнешняяОбработка.[ИмяОбработки].Форма.Форма.Форма(62)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver]Истекло время ожидания запроса
Попробуйте установить свойство CommandTimeout в значение, отличное от стандартного. Если верить документации, значение по умолчанию - 30 секунд. Возможно, в вашем случае запрос отрабатывается дольше.
При создании аналогичного запроса и установки свойства CommandTimeout в значение 1, получаю ту же самую ошибку, что и у вас. При установки в значение 0, что, согласно документации, позволяет ждать ответа без ограничений, запрос выполняется.
cmd = Новый COMОбъект("ADODB.Command");
cmd.CommandTimeout = 0; // Нужное значение таймаута
Попробуйте установить свойство CommandTimeout в значение, отличное от стандартного. Если верить документации, значение по умолчанию - 30 секунд. Возможно, в вашем случае запрос отрабатывается дольше.
При создании аналогичного запроса и установки свойства CommandTimeout в значение 1, получаю ту же самую ошибку, что и у вас. При установки в значение 0, что, согласно документации, позволяет ждать ответа без ограничений, запрос выполняется.
cmd = Новый COMОбъект("ADODB.Command");
cmd.CommandTimeout = 0; // Нужное значение таймаута