使用下面的代码,我得到的错误:varchar数据类型为datetime数据类型的转换导致超出范围的值使用脚本
Exception calling "Fill" with "1" argument(s): "The conversion of a varchar data type to a datetime data type resulted in an out-of-range value." At C:\Users\username\Desktop\TEST.ps1:47 char:1 + $CommandCompl.fill($dt7) | out-null + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : SqlException
$Host.UI.RawUI.BufferSize = New-Object Management.Automation.Host.Size (200, 25)
$Date = (get-date).ToString("yyyyMMdd")
Clear
$SQLTableCOMPLIA = 'abc'
$SQLServerCOMPLIA = "123.123.123.123"
$SQLDBNameCOMPLIA = "test"
$UsernameCOMPLIA = "abc"
$PasswordCOMPLIA = "pasword"
$SQLServerLANDESK = "cba\test1"
$SqlConnectionLANDESK = New-Object System.Data.SqlClient.SqlConnection
$global:dt = new-object System.Data.DataTable
$dr = ""
$LONA = ""
$o = 0
$j = 0
$globalvuln , $globalNotvuln = 0
$global:dt7 = new-object System.Data.DataTable
$SqlConnectionCOMPLIA = New-Object System.Data.SqlClient.SqlConnection
$SqlConnectionCOMPLIA.ConnectionString = "Server=$SQLServerCOMPLIA; Database=$SQLDBNameCOMPLIA;uid=$UsernameCOMPLIA; pwd=$PasswordCOMPLIA"
$SqlConnectionCOMPLIA.Open() | out-null
$QueryCompl = "SELECT TOP 1 CONVERT(datetime,left(LD_publishdate,10),103) as R FROM vulns order by R DESC"
$CommandCompl = new-object System.Data.SqlClient.SqlDataAdapter ($QueryCompl, $SqlConnectionCOMPLIA)
$CommandCompl.fill($dt7) | out-null
我是什么做错了?我该如何解决这个问题?
我猜你的LD_publishdate列有无效的值,比如30天的月份31st或者这些行的内容。它基本上是自由文本,对吧? –
@MegaTron是varchar类型并允许Null。这是你问的吗? –
'select convert(datetime,left('2015-06-31',10),103)'例如给出您收到的错误。空值不。所以我认为这是你的问题。 –