首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >第一次运行脚本-我的函数ExecuteSqlQuery未被识别为函数的名称,

第一次运行脚本-我的函数ExecuteSqlQuery未被识别为函数的名称,
EN

Stack Overflow用户
提问于 2021-03-02 04:07:49
回答 1查看 54关注 0票数 0

当我第一次运行脚本时-它失败了,出现了下面的错误,并且脚本的每次后续运行都像预期的那样工作。脚本调用以下行中的函数:$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

代码语言:javascript
代码运行次数:0
运行
复制
~~~~~~~~~~~~~~~
代码语言:javascript
代码运行次数:0
运行
复制
- 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) {

代码语言:javascript
代码运行次数:0
运行
复制
$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 "==“}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-02 04:17:09

由于您没有包含任何代码,因此我只能假定您在使用函数之前没有定义函数,或者您没有正确地定义函数。最好提供代码,而不仅仅是错误消息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66428941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档