【问题标题】:How to display number of rows affected in a text file sql如何在文本文件sql中显示受影响的行数
【发布时间】:2017-11-04 11:30:16
【问题描述】:

我正在使用批处理文件从另一个文件运行 SQL 语句。如何在同一文件夹中的文本文件中记录结果或错误消息。这是我所做的:"

@echo off
sqlcmd.exe -S "(localdb)\v11.0" -i C:\SQLBatch\CreateLinkServer.sql -o C:\SQLBatchCreateLinkServer.txt

日志文件 (SQLBatchCreateLinkServer.txt) 仅包含“已将数据库上下文更改为 'master'。”。如何让批次在日志中写入所有详细信息,例如 no.受影响的行数以及正在执行的查询。

谢谢

【问题讨论】:

  • 在您的 .sql 中是否有命令 set nocount on?如果是这样,请将其删除,或为set nocount off 添加脚本。请参阅 here 完成的相反方法。
  • 我会将其设置为关闭并给您反馈。谢谢
  • 将 nocount 设置为 off 并没有奏效
  • @Parfait。谢谢你。它奏效了

标签: sql sql-server batch-file


【解决方案1】:

Parfait 的建议帮助解决了这个问题。

我有这个

@echo off sqlcmd.exe -S "(localdb)\v11.0" -i C:\SQLBatch\CreateLinkServer.sql -o C:\SQLBatchCreateLinkServer.txt

而不是

@echo off sqlcmd.exe -S "(localdb)\v11.0" -i C:\SQLBatch\CreateLinkServer.sql -o C:\SQLBatch\CreateLinkServer.txt

因此计数未写入指定文件。

不同之处在于文件名不是 SQLBatchCreateLinkServer.txt,而应该是 SQLBatch 文件夹中的 CreateLinkServer.txt

【讨论】:

  • 这两个命令有什么区别?这不是很清楚。将其包含在答案正文中。
猜你喜欢
  • 2015-08-06
  • 2012-10-01
  • 2010-10-26
  • 2016-12-31
  • 2016-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多