【发布时间】:2019-10-16 16:22:01
【问题描述】:
所以我有一个 powershell 脚本,它将区域和日期时间作为输入,并在脚本内部调用存储过程。
存储过程有两个输入——区域和日期时间戳;日期时间戳始终为空。我该如何解析它?
function Reset {
param ([string]$region,[nullable[Datetime]]$statustimestamp)
$conn = New-Object System.Data.SqlClient.SqlConnection("Server=SQL,15010; Database='STG';User ID=SVC;Password=password;Integrated Security=FALSE")
$conn.Open()
$cmd = $conn.CreateCommand()
$cmd.CommandText = "dbo.Reset'$region' ,'$statustimestamp'"
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter($cmd)
$dataset = New-Object System.Data.DataSet
[void]$adapter.Fill($dataset)
$dataset.tables[0]
$cmd.CommandText
$dataset.Tables[0] | Export-CSV M:\MyReport.csv -encoding UTF8 -NoTypeInformation
Write-Host 'New report M:\MyReport.csv has been successfully generated'
}
我执行为
Rest -region IN -statustimestamp NULL
我收到以下错误
重置:无法处理参数“statustimestamp”的参数转换。无法将值“NULL”转换为类型“System.DateTime”。
错误:字符串未被识别为有效的日期时间。有一个从索引 0 开始的未知单词。
在 line:1 char:59
+ 重置 -region AU -statustimestamp NULL
+ ~~~~
+ CategoryInfo : InvalidData: (:) [Reset], ParameterBindingArgumentTransformationException
+ FullyQualifiedErrorId : ParameterArgumentTransformationError,Reset
【问题讨论】:
-
你可以在没有日期参数的情况下调用你的函数,比如
Rest -region IN
标签: powershell