当我第一次运行脚本时-它失败了,出现了下面的错误,并且脚本的每次后续运行都像预期的那样工作。脚本调用以下行中的函数:$1
_
resultsDataTable = ExecuteSqlQuery $Server $Database $UserSqlQuery
第二次尝试使服务器和数据库连接正确运行查询: function ExecuteSqlQuery ($Server,$Database,$SQLQuery) {
ExecuteSqlQuery :术语“”ExecuteSqlQuery“”未被识别为cmdlet、函数、脚本文件或可操作程序的名称。“”请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。在C:\Users\figuerdsa\Documents\before22821.ps1:7字符:23
$1
_
resultsDataTable = ExecuteSqlQuery $Server $Database $UserSqlQuery
~~~~~~~~~~~~~~~
- CategoryInfo : ObjectNotFound: (ExecuteSqlQuery:String) [], CommandNotFoundException
- FullyQualifiedErrorId : CommandNotFoundException
字符串
$Server=“服务器”
字符串
$Database = "mvTest“
字符串
select $("select m.created
_
日期,m.additional
_
来自aeroscout.mv的ReasonDown形式的数据
_
audit m where m.created
_
date >= '2020-01-18‘和m.additional
_
数据,如'%remainingCapacity={
":
",
":
"};batteryReplacementDate={
":`"2020-02-29%'")
$1
_
resultsDataTable = ExecuteSqlQuery $Server $Database $UserSqlQuery启动-睡眠5
$2
_
resultsDataTable = ExecuteSqlQuery $Server $Database $UserSqlQuery
执行查询并使用数据填充$datatable
函数ExecuteSqlQuery ($Server,$Database,$SQLQuery) {
$Connection =新建-对象System.Data.SQLClient.SQLConnection $Connection.ConnectionString = "server='$Server';database='$Database';Integrated Security=True;“$Connection.Open() $Command =新建-对象System.Data.SQLClient.SQLCommand $Command.Connection = $Connection $Command.CommandText = $SQLQuery $Reader = $Command.ExecuteReader()
如果($Reader.HasRows) {
$obj = $Reader | foreach { $row = $\_; new-object psObject -Property @{ CreateDate = $row.Item("created\_date") ReasonDown = $row.Item("ReasonDown") } #Write-Output $obj } } return $obj $Connection.Close()
$Connection.Dispose()
}
$fields =“已创建
_
date","ReasonDown“$exportObject=@() $exportObject = Compare-Object -ReferenceObject $1
_
resultsDataTable -DifferenceObject $1
_
resultsDataTable -IncludeEqual -Property $fields -PassThru | Where-Object {$
_
.SideIndicator -eq "==“}
发布于 2021-03-01 20:17:09
由于您没有包含任何代码,因此我只能假定您在使用函数之前没有定义函数,或者您没有正确地定义函数。最好提供代码,而不仅仅是错误消息。
https://stackoverflow.com/questions/66428941
复制相似问题