【发布时间】:2014-09-26 07:38:47
【问题描述】:
我正在尝试做的是模拟一个 50-60 连接查询相同的语句。 我创建了一个批处理文件,并且可以在(sqlcmd)中成功调用 .sql 文件。 下一步是调整批处理文件,使其创建 50 个单独的连接。任何建议将不胜感激。
谢谢大家。
【问题讨论】:
标签: sql-server sql-server-2008 batch-file sql-server-2008-r2 sqlcmd
我正在尝试做的是模拟一个 50-60 连接查询相同的语句。 我创建了一个批处理文件,并且可以在(sqlcmd)中成功调用 .sql 文件。 下一步是调整批处理文件,使其创建 50 个单独的连接。任何建议将不胜感激。
谢谢大家。
【问题讨论】:
标签: sql-server sql-server-2008 batch-file sql-server-2008-r2 sqlcmd
我猜你的问题是你 (1) 不想在你的批处理中有 50 次相同的行并且 (2) 希望你的命令“一次”执行而不是一个接一个地执行。
(1) 使用 for 循环!
(2) 使用开始: 如果您只执行 sqlcmd 命令 50 次,则 cmd 将始终等待最后一次调用完成。您可以使用 START 来避免这种情况。在这种情况下,命令正在执行,但 cmd 不会等待它完成。
所以你的代码可能看起来像这样:
FOR /L %%x in (1, 1, 50) DO (
START sqlcmd.exe /param1 /param2 ...
)
您可能想要记录您的输出或在您的 sqlcmd 调用之间有所不同。为此,您可以使用 %%x(例如创建日志文件):
FOR /L %%x in (1, 1, 50) DO (
START sqlcmd.exe /param1 /param2 ... >> log%%x.txt
)
【讨论】: