2012-02-18 2 views
1

powershell을 사용하여 SQL에 대해 쿼리를 실행하려고했으나 믹스에서 매개 변수를 throw하려고 시도 할 때까지 성공했습니다. 다음과 같이 내 코드는 다음과 같습니다SQL을 통해 powershell을 통해 변수를 쿼리합니다.

어떤 도움을 주시면 감사하겠습니다
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 

찾는 : 난 내가 항상 같은 결과를 얻을 온라인으로 발견 매개 변수를 전달하는 다른 방법으로 주위를 엉망

$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 

} 

Powershell SQL 쿼리의 좋은 예는 거칠다. OLeDB를 사용하는 것은 필요하지 않습니다. 다른 공급자를 사용하는 예제가있는 경우에는 성공없이 System.Data.SqlClient.SqlConnection을 사용하고 있습니다.

답변

관련 문제