1
我試圖運行一個使用powershell的SQL查詢,併成功,直到我試圖在混合中拋出參數。我的代碼如下:SQL查詢通過powershell w /變量
$parameter="TEST"
$connectionString = "CONNECTION STRING";
$Connection = New-Object System.Data.OleDb.OleDbConnection $connectionString;
$Values = New-Object System.Data.DataSet;
$SelectCommand = "Select Value FROM dbo.Values WHERE [email protected]";
$Command = New-Object System.Data.OleDb.OleDbCommand $SelectCommand,$Connection;
$Command.Parameters.Add("@param", [System.Data.OleDb.OleDbType]::VarChar, 50)
$Command.Parameters["@param"].Value = $parameter;
$adapter = New-Object System.Data.OleDb.OleDbDataAdapter $Command;
[void] $adapter.Fill($Values);
foreach($a in $Values.tables[0].Rows)
{
#handle returned values
}
我搞砸周圍,我發現在網上,總是得到相同的結果傳遞一個參數不同的方式:
Exception calling "Fill" with "1" argument(s): "Must declare the scalar variable "@try"."
At line:28 char:31
+ [void] $adapter.Fill <<<< ($Values);
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
任何幫助,將不勝感激,找到PowerShell SQL查詢的好例子很粗糙。使用OLeDB不是必需的,如果有人使用另一個提供者的例子,那麼我也一直在搞亂System.Data.SqlClient.SqlConnection,但沒有成功。
真棒,這非常完美!謝謝你的幫助 – vesuvious 2012-02-18 04:25:08