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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 386855
Url: https://administrator.de/contentid/386855
Printed on: April 27, 2024 at 02:04 o'clock
1 Comment
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);"
}