使用 SMO ExecuteWithResults 函数的空数据集出现 Powershell 错误

Powershell error on empty dataset with SMO ExecuteWithResults function

我在 powershell 中使用 SMO 库中的函数 database.ExecuteWithResults()。

如果我的 SQL 请求 return 结果至少有一行,则效果很好。 但如果结果没有任何一行,我会收到以下错误:

"You cannot call a method on a null-valued expression."

下面是我的代码:

function runDBQuery($SqlServer, $database, $query){
  $SqlConn = new-object Microsoft.SqlServer.Management.Smo.Server $SQLServer
  $db = $SqlConn.Databases[$database]
  $result = new-object System.Data.DataSet
  $result = $db.ExecuteWithResults($query)
return $result
}

如果有人知道如何解决这个问题。

问候

问题是 DataSet 不是 IEnumerable 类型,而这正是 return 所寻找的。尝试:

return ,$result