【发布时间】:2018-10-01 22:39:32
【问题描述】:
我有一个返回结果集和整数返回值的 SQL Server 存储过程。我想使用SQLCMD 执行它,然后 PowerShell 将结果集重定向到一个文本文件,并在 PowerShell 变量中捕获返回值。
我的问题,我无法将返回值捕获到 $RC 变量中。
存储过程:
CREATE PROCEDURE [DBO].[TEST]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @MYTABLE TABLE(PARTNO INT, TRANDATE DATE, QUANTITY INT)
INSERT INTO @MYTABLE
VALUES (1, '2018-01-01', 1000), (1, '2018-02-01', 2000),
(2, '2018-03-01', 3000)
SELECT *
FROM @MYTABLE
RETURN @@ROWCOUNT
END
Powershell 脚本类似于:
Param();
Clear-Host;
$Command = "Exec [test].[dbo].[Test]";
$RC = sqlcmd -Q $Command -s ',' -u -h-1 -W | Out-File "C:\Test.txt";
Write-Host $RC;
提前致谢。
【问题讨论】:
-
如果你在 powershell 中使用 ADO.Net 而不是 SQLCMD 你可以
标签: sql-server powershell