如何解决如何在Powershell中对有关SQL结果的存储的哈希表信息进行变量
方案:我试图从SFTP中获取一堆文件,然后对其进行遍历以将文件参数与“审核”表中的文件参数进行比较,如果是全新文件,则将信息插入到审核表中。 / p>
这是我的代码段
$directory = $session.ListDirectory("/broken/")
$session.dispose()
foreach ($fileInfo in $directory.Files)
{
$FileName = $($fileInfo.Name)
$FileSize = $($fileInfo.Length)
$DateModified = $($fileInfo.LastWriteTime)
If($FileName -eq '.' -or $FileName -eq '..' )
{
continue
}
#Check if file was downloaded earlier
$sqlConnection = New-Object System.Data.sqlClient.sqlConnection
$sqlConnection.ConnectionString = "Server = $sqlServer; Database = $sqldbname; User ID = $sqlUsername; Password = $sqlPassword"
$sqlCmd = New-Object System.Data.sqlClient.sqlCommand
$sqlCmd.CommandText = "SELECT [FileName],[DateModified],[FileSize] FROM [FTP].[dbo].[Log] WHERE FileName='$FileName'"
$sqlCmd.Connection = $sqlConnection
$sqlAdapter = New-Object System.Data.sqlClient.sqlDataAdapter
$sqlAdapter.SelectCommand = $sqlCmd
$DataSet = New-Object System.Data.DataSet
$sqlAdapter.Fill($DataSet)
$sqlConnection.Close()
$Result = $DataSet.Tables[0]
####
现在,我已将SQL查询信息提取到我的PowerShell哈希表变量中。 然后如何比较结果是否返回
我尝试做以下几件事:
If ($Result.Matches.Count -ne 0 ){
### Naming the files
$sqlFTPFileName = $Result.RemoteFileName[0]
$sqlFTPFileDateModified = $Result.DateModified[0]
$sqlFTPFileSize = $Result.FileSize[0]
###
OR
If ($Result.RemoteFileName[0] -ne 0 ){
### Naming the files
$sqlFTPFileName = $Result.RemoteFileName[0]
$sqlFTPFileDateModified = $Result.DateModified[0]
$sqlFTPFileSize = $Result.FileSize[0]
###
}
您能在这里帮助我吗?
感谢您的帮助,感激不尽。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。