[英]Calling SQL Server stored procedure from powershell
我正在嘗試從PowerShell調用SQL Server存儲過程,但是我總是在參數上遇到錯誤。
存儲過程具有8個參數,所有參數均具有默認值
@simchain nvarchar
@idSimulation int
@idCompany varchar
@modelName nvarchar
@simDate datetime
@mySim int
@statusFloor int
@statusCap int
即使沒有任何參數,我也可以從Management Studio調用此過程,因此只需執行EXEC [dbo].[E_simulations]
。
在PowerShell中,我創建了一個連接和一個命令,但始終會因缺少參數而收到錯誤消息,例如
過程或函數“ E_simulations”期望未提供參數“ @simchain”。
這是我的測試代碼(只是為了測試正確執行)
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection;
$SqlConnection.ConnectionString = $ConnectionString;
$SqlCommand = $SqlConnection.CreateCommand();
$SqlCommand.CommandText = "EXEC [dbo].[E_simulations]";
$SqlConnection.Open();
$returnedValue = $SqlCommand.ExecuteNonQuery();
我想念什么嗎?
我做了快速測試。 我希望這個能幫上忙
CREATE PROC doTest (
@param1 INT = 1,
@param2 VARCHAR(10) = 'xxx'
)
AS
BEGIN
PRINT 'THIS ONE'
SELECT 1 As Data
END
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=localhost;Database=ForTests;Integrated Security=True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "doTest"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]
Data
----
1
我所做的一切都和您寫的一樣,沒有分配參數也有結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.