我知道我最近问了很多问题但是当我认为我的代码工作正常时,我遇到了一个新问题而且它真的让我烦恼。 $ from和$ to是YYYY-MM-DD格式的字符串。当我在本地机器上运行它时,它完美地工作。但是,当我在服务器上运行它时。它位于加拿大。我得到了以下错误
Get-Date:无法将参数'date'绑定到目标。异常设置“Date”:“对象引用未设置为对象的实例。”
我的代码如下,我不确定它是否是一个获取日期的文化问题,或者是因为服务器上有一些设置,我需要一些指导。
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=10.10.1.34;Database=AMSDataWarehouse Test;user id=YQBGantt;password=123yqbgantt"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.Connection = $SqlConnection
$SqlCmd.CommandText = "YQBreport2"
$SqlCmd.CommandType = [System.Data.CommandType]::StoredProcedure
$param1=$sqlcmd.Parameters.Add("@from" , [System.Data.SqlDbType]::DateTime)
$param1.Value=Get-Date $from -format "yyyy-MM-dd HH:mm:ss.fff"
$param2=$sqlcmd.Parameters.Add("@to", [System.Data.SqlDbType]::DateTime)
$param2.Value=Get-Date $to -format "yyyy-MM-dd HH:mm:ss.fff"
$SqlConnection.Open()
$sqlcmd.ExecuteNonQuery()
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$SQLResult =$DataSet.Tables[0]
$commands = $SQLResult | foreach-object -process { $_.output }> output.ps1
.\output.ps1