问题描述
我正在尝试将名为 $sqlInstanceParams
的哈希表传递给 Invoke-DbaQuery dbatools 命令:
Invoke-DbaQuery -sqlInstance "X" -Database "X" -Query "Set-sqlInstance" -sqlParameters $sqlInstanceParams -CommandType StoredProcedure
显示我填充的哈希表变量,一切看起来都很好,但是当查询执行时我收到了这个错误:
No mapping exists from object type System.Version to a kNown managed
provider native type.
我是否需要以某种方式转换此哈希表或像这样单独列出每个参数,而不仅仅是传递哈希表变量:
$sqlInstanceParams = @{IsClustered = $sqlInstanceParams["IsClustered"];
ServerName = $sqlInstanceParams["ServerName"] etc}
解决方法
结果证明这是 Hashtable 值和 SQL 表之间的数据映射问题。