Kein SQL Ergebnis im Powershellskript
Hallo zusammen,
ich verstehe leider nicht ganz, wieso mir kein Abfrageergebnis ausgespuckt wird? Die Abfrage habe ich vorher natürlich im SSMS geprüft. Stehe ich hier auf dem Schlauch? Hintergrund ist, dass ich gern die Ergebnisse in einem Array abspeichern möchte und damit gewissen Dateinamen in versch. Ordner durchsuchen will- jedoch wird nichts gefunden, wenn keine Abfrageergebnisse auftauchen.
Danke für sätmliche Hilfe!
ich verstehe leider nicht ganz, wieso mir kein Abfrageergebnis ausgespuckt wird? Die Abfrage habe ich vorher natürlich im SSMS geprüft. Stehe ich hier auf dem Schlauch? Hintergrund ist, dass ich gern die Ergebnisse in einem Array abspeichern möchte und damit gewissen Dateinamen in versch. Ordner durchsuchen will- jedoch wird nichts gefunden, wenn keine Abfrageergebnisse auftauchen.
# Variablen festlegen
$vPfad="C:\MAIL\"
$vArchivPfad="C:\MAIL\SEND"
$vCommand="
select sb.Nr_ListeA from Send_B sb
inner join Kund_B kb on kb.id=sb.ID_AG
where kb.mc in (select ti.xs from Tabelle_B tb inner join Tabelle_F tf on tf.ID=tb.ID_Tabelle_F inner join Tabelle_It ti on ti.ID_Tabelle_B=tb.ID where tf.MC='CMR')
and sb.ID in (select ID_Send from Send_L where K_Li=4)
"
# SQL Funktion zum zusammenstellen der Prüftabelle
function querySQL {
Param(
[string]$cSQL
)
# Connectionstring
$connectionString = "Data Source=SERVER\db; Initial Catalog=db2_TBL; user id=sa; pwd=s4ZND64012518321OT"
# SQL Verbindung aufbauen
$connection = new-object system.data.SqlClient.SQLConnection($connectionString)
$command = new-object system.data.sqlclient.sqlcommand($cSQL,$connection)
$connection.Open()
$adapter = New-Object System.Data.sqlclient.sqlDataAdapter $command
$dataset = New-Object System.Data.DataSet
# Tabelle erstellen
$adapter.Fill($dataSet) | Out-null
$connection.Close()
$dataSet.Tables
}
# SQL Tabelle in Array speichern
[array]$result = (querySQL -cSQL $vCommand).Datei
#Testausgabe der Abfrage = 0
write-host $result
# Liste aller Dateien durchsuchen, welche in Abfrage vorhanden sind
$files = Get-ChildItem -Path $vPfad -Include "(LISTDOC3)$result-*.pdf" -Recurse
#Bsp. Dateiname: (LISTDOC3)123456-BMDF-001.pdf - 123456 befindet sich unteranderem im Abfrageergebnis
# Gefundene Dateien bereitstellen
$files | ?{$_.Basename -match $pattern} | Copy-Item -Destination $vArchivPfad -Verbose
Danke für sätmliche Hilfe!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 532563
Url: https://administrator.de/contentid/532563
Ausgedruckt am: 25.11.2024 um 18:11 Uhr
5 Kommentare
Neuester Kommentar
Das ist klar.
Mit
fragst Du genau einen Datensatz ab, also ergibt
auch nur genau einen Wert.
Hinweis! Das "sb." muss da noch raus.
Wenn Du da ein Array aller Werte haben willst, dann müsste das so aussehen:
ohne das "".
Mit
(querySQL -cSQL $vCommand)
(querySQL -cSQL $vCommand).Nr_ListeA
Hinweis! Das "sb." muss da noch raus.
Wenn Du da ein Array aller Werte haben willst, dann müsste das so aussehen:
(querySQL -cSQL $vCommand).Nr_ListeA