Как вызвать, перезапускают поле Windows с помощью VBScript?

Возможно, самый простой способ - это outer apply:

select t.id, t.status, t2.worker, t.date
from t outer apply
     (select top (1) t2.*
      from t2
      where t2.worker is not null and t2.id >= t.id
      order by t2.id asc
     ) t2;

. Что вам действительно нужно, так это опция IGNORE NULLS в LEAD(). Однако SQL Server не поддерживает это.

Если вы хотите заполнить последние значения значением , предшествующим значению , следуйте той же логике с другой apply:

select t.id, t.status,
       coalesce(tnext.worker, tprev.worker) as worker, t.date
from t outer apply
     (select top (1) t2.*
      from t2
      where t2.worker is not null and t2.id >= t.id
      order by t2.id asc
     ) tnext outer apply
     (select top (1) t2.*
      from t2
      where t2.worker is not null and t2.id <= t.id
      order by t2.id desc
     ) tprev;
8
задан Peter Mortensen 26 March 2010 в 08:16
поделиться

3 ответа

Замена попытки:

retVal = OpSys.Reboot()

С:

retVal = OpSys.Win32Shutdown(6)
9
ответ дан 5 December 2019 в 09:26
поделиться

Ну, это использует VBScript - хотя правдиво он вызывает то же завершение работы командной строки, которое Вы пытаетесь сделать. Я протестировал его, и это работает.

Dim oShell 
Set oShell = CreateObject("WScript.Shell")

'restart, wait 5 seconds, force running apps to close
oShell.Run "%comspec% /c shutdown /r /t 5 /f", , TRUE

Против чего ОС Вы работаете? Этот тест был против XP. Интересно, требует ли сервер ОС кода завершения работы...

4
ответ дан 5 December 2019 в 09:26
поделиться

Можно также попробовать psShutdown утилиту командной строки от Sysinternals теперь Microsoft. http://technet.microsoft.com/en-us/sysinternals/bb897541.aspx

3
ответ дан 5 December 2019 в 09:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: