SQL Serverストアドプロシージャを実行するPowerShellスクリプトがあります。ストアドプロシージャのパラメータは@backupType
で、値はCHAR(1)
です。私はこのようにそれを呼んでいる:Powershellのcharパラメータを使用してストアドプロシージャを呼び出す方法
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=(local);Database=master;Integrated Security=True"
$SqlConnection.Open()
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "sp_myStoredProcedure"
$SqlCmd.Connection = $SqlConnection
$SqlCmd.Parameters.Add("@backupType", [System.Data.SqlDbType]"Char", 1)
$SqlCmd.Parameters["@backupType"].Value = "F"
$result = $SqlCmd.ExecuteNonQuery()
$SqlConnection.Close()
私が手にエラーがある:「0」引数(複数可)との「は、ExecuteNonQuery」を呼び出す
例外:「プロシージャまたは関数 『sp_myStoredProcedureは』パラメータを期待します'@backupType'は提供されませんでした。ラインで:14文字:1
- $は
- )(= $ SqlCmd.ExecuteNonQueryをもたらす~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
- CategoryInfo:NotSpecified:(:) []、MethodInvocationException
- FullyQualifiedErrorId:SqlExceptionが
私はパラメータを間違って指定していると仮定することしかできませんが、Googleの検索とSOの検索で役立つものは何も浮上していません。何か案は?
で試すには、ハッシュテーブル/辞書 '$ SqlCmd.Parameters'ですか? – TheIncorrigible1
コードはわかりました。実際のコードですか? – DavidG
@ TheIncorrigible1私はそうは思わない。私はそれが強く型付けされたパラメータのコレクションだと思っていますが、私は100%確実ではありません。 – getsetcode