如何在Powershell中强制调用-SqlCmd以刷新其输出?在https://github.com/PowerShell/PowerShell/issues/3060上问的问题基本上是一样的,人们认为这是SQL的问题,而"SQL说这是默认Powershell输出的问题,而不是他们的代码“。
下面是一个简单的演示:
Write-Host "Run 1"
Invoke-Sqlcmd -Query "SELECT GETDATE() AS CurrentTime;"
#Read-Host -Prompt "press a key..."
Write-Host "Run 2"
Invoke-Sqlcmd -Query "SELECT GETDATE() AS CurrentTime;"输出将如下所示:
Run 1
Run 2
CurrentTime
-----------
8/23/2019 9:24:44 AM
8/23/2019 9:24:44 AM而我希望第一个输出在"Run 1“之后和"Run 2”之前。如果注释掉Read-Host,Invoke-Sqlcmd就会被分隔开,但仍然不像我所期望的那样:
Run 1
press a key...:
CurrentTime
-----------
8/23/2019 9:22:28 AM
Run 2
8/23/2019 9:22:32 AM那么,如何在Powershell中强制调用-SqlCmd来刷新其输出呢?
发布于 2019-08-23 14:24:50
请查看修改后的脚本如下:
$run1 = Invoke-Sqlcmd -Query "SELECT GETDATE() AS CurrentTime;" | Out-String;
Write-Host "Run 1 is $run1"
#Read-Host -Prompt "press a key..."
Start-Sleep 2 #To simulate different timing
$run2 = Invoke-Sqlcmd -Query "SELECT GETDATE() AS CurrentTime;" | Out-String
Write-Host "Run 2 is $run2"输出将是,
Run 1 is
CurrentTime
-----------
8/23/2019 11:51:47 AM
Run 2 is
CurrentTime
-----------
8/23/2019 11:51:49 AMhttps://stackoverflow.com/questions/57627427
复制相似问题