【问题标题】:Powershell Invoke-Expression with SqlCmd使用 SqlCmd 的 Powershell 调用表达式
【发布时间】:2010-08-19 03:34:47
【问题描述】:

当使用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'.

然而,整个事情正在运行,我可以通过玩结果来看到这一点。这是为什么呢?

【问题讨论】:

    标签: powershell sqlcmd


    【解决方案1】:

    来自sqlcmd.exe 上的文档:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-30
      • 2012-11-16
      • 1970-01-01
      • 2011-10-16
      • 1970-01-01
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      相关资源
      最近更新 更多