Powershell使用SqlCmd调用表达式

时间:2010-08-19 03:34:48

标签: powershell sqlcmd

使用Invoke-Expression sqlcmd -i script.sql时,它似乎只显示返回的前两行。

当我在查询分析器中运行它返回的脚本时:

(2 rows affected)
Changed database context to 'ShopStore'.
(5 rows affected)
Changed database context to 'ShopStore'.

但是从PowerShell我只得到:

(2 rows affected)
Changed database context to 'ShopStore'.

是的,整个事情正在进行中,我可以通过玩结果看到这一点。这是为什么?

1 个答案:

答案 0 :(得分:0)

来自sqlcmd.exe上的文档:

  

SQL Server Management Studio使用   Microsoft.NET FrameworkSqlClient for   以常规和SQLCMD模式执行   在查询编辑器中。当sqlcmd运行时   从命令行,sqlcmd使用   OLE DB提供程序。因为不同   您可以使用默认选项   当你看到不同的行为   在SQL Server中执行相同的查询   SQLCMD模式和管理工作室   在sqlcmd实用程序中。

这可能就是你看到不同结果的原因吗?