1
所以我有一些代碼,我寫了採取輸入形成文本文件,並運行對另一個數據庫I填充一些SQL檢查:SQL查詢使用PowerShell - 返回值不MACHING
$volOutput = gc C:\Users\<user>\Desktop\mutant.txt
foreach ($m in $volOutput) {
$check = $m.split()[-1] | select -Unique
foreach ($c in $check) {
#$c - this lists all of them so the foreach is working...
# Build the connection and search the db for $c names.
$conn = New-Object System.Data.SqlClient.SqlConnection
$conn.ConnectionString = "Server=(localdb)\mutex; Database=MutexObjects"
$conn.Open()
$db = $conn.CreateCommand()
$db.CommandText = "select Names from Objects WHERE Names='$c'"
$db.ExecuteScalar()
$conn.Close()
} # Foreach Check
} # First foreach
的返回值,我得到是:
PS C:\>B:\Programming\powershell\parse_vol.ps1
ZonesCounterMutex
ZoneAttributeCacheCounterMutex
ZonesCacheCounterMutex
ZoneAttributeCacheCounterMutex
ZonesLockedCacheCounterMutex
ZonesCounterMutex
ZoneAttributeCacheCounterMutex
ZonesCacheCounterMutex
ZoneAttributeCacheCounterMutex
ZonesLockedCacheCounterMutex
這是正確的,但它也缺少很多。如果我採取個別樣品和運行查詢從SQL Management Studio中,例如中,我得到:
我填充「測試」一詞在每個列表作爲....測試。
Select Names From Objects WHERE Names='test'
Names
test
但我沒有看到從上面的代碼輸出測試。大約有5或6個以上的缺失,我通過查詢SQL管理工作室中的數據庫來手動驗證。
任何幫助,非常感謝。
是的,很多都適用於<=和=(更多到$ filecontent <=) – mrwh1t3
數據庫中不存在具有「<=」側指示符的名稱,所以它們並不令人驚訝你的腳本。 –
所以我真的回去看了看。我錯過了一些,而且我認爲這一直在努力......無論如何,我喜歡你的迴應並給你信用。 – mrwh1t3