Powershell Update MSSQL
Liebe Administratoren,
ich habe eine regelmäßig generierete CSV aus Welcher Preise in der db geupdated werden sollen und komme nicht weiter...
Bisher habe ich frei nach dieser Anleitung mein Glück versucht...
Wie bekomme ich das hin, bzw wo liegt der Fehler?
ich habe eine regelmäßig generierete CSV aus Welcher Preise in der db geupdated werden sollen und komme nicht weiter...
Bisher habe ich frei nach dieser Anleitung mein Glück versucht...
$DATA=IMPORT-CSV C:\tmp\dl.csv
foreach($LINE in $DATA)
{
$SKU = "`'"+$Line.SKU+"`'"
$AMAZON_PRICE = "`'"+$LINE.AMAZON_PRICE+"`'"
invoke-sqlcmd `
-database database `
-serverinstance here\WAWI `
-query `
"UPDATE d `
SET d.fNettoPreis = $LINE.AMAZON_PRICE `
FROM tPreisDetail AS d `
INNER JOIN tPreis p ON d.kPreis = p.kPreis `
INNER JOIN tArtikel a ON p.kArtikel = a.kArtikel `
WHERE a.cArtNr = $LINE.SKU `
AND (p.kShop = 3 OR p.kShop = 4);"
}
Wie bekomme ich das hin, bzw wo liegt der Fehler?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 386855
Url: https://administrator.de/contentid/386855
Ausgedruckt am: 19.11.2024 um 22:11 Uhr
1 Kommentar
bzw wo liegt der Fehler?
Da du hier weder das Format deiner CSV Datei noch das Format der Spalten deiner Tabellen, noch Fehlermeldungen postest kann ich nur die syntaktisch falschen Bestandteile wie falsche Variablenanwendung korrigieren.CSV Delimiter bitte anpassen und natürlich das SQL Server Snapin laden
$DATA=IMPORT-CSV 'C:\tmp\dl.csv' -delimiter ";"
foreach($LINE in $DATA)
{
invoke-sqlcmd -database database -serverinstance 'here\WAWI' -query "UPDATE d SET d.fNettoPreis = '$($LINE.AMAZON_PRICE)' FROM tPreisDetail AS d INNER JOIN tPreis p ON d.kPreis = p.kPreis INNER JOIN tArtikel a ON p.kArtikel = a.kArtikel WHERE a.cArtNr = '$($LINE.SKU)' AND (p.kShop = 3 OR p.kShop = 4);"
}