Als ik met ODBC een verbinding maak naar een Unit 4 Multiverse database krijg ik datums terug in NL-formaat, d.w.z.: d/m/yyyy.
Ook decimals krijg ik terug met een komma als separator, maar dat moet een punt worden.
Ik moet ze dus in het engelse formaat terugkrijgen, anders kan ik de data uit de CSV niet importeren in een MS SQL tabel (krijg dan foutmelding dat waarde niet correct te CAST'en is).
Dus datum notatie moet: YYYY-MM-DD worden en decimal notatie moet bijv.: 1,000.00 zijn (mind the comma and period
)
Is er een mogelijkheid om dat eenvoudig met Powershell voor elkaar te krijgen, zonder dat ik overal REPLACE-statements moet gaan toevoegen aan de SQL query?
Ook decimals krijg ik terug met een komma als separator, maar dat moet een punt worden.
Ik moet ze dus in het engelse formaat terugkrijgen, anders kan ik de data uit de CSV niet importeren in een MS SQL tabel (krijg dan foutmelding dat waarde niet correct te CAST'en is).
Dus datum notatie moet: YYYY-MM-DD worden en decimal notatie moet bijv.: 1,000.00 zijn (mind the comma and period
Is er een mogelijkheid om dat eenvoudig met Powershell voor elkaar te krijgen, zonder dat ik overal REPLACE-statements moet gaan toevoegen aan de SQL query?
code:
1
2
3
4
5
6
7
8
9
| $query = 'SELECT "BOEKINGSDATUM","CREDIT" FROM GROOTBOEKMUTATIES' $conn = New-Object System.Data.Odbc.OdbcConnection $conn.ConnectionString = "DSN=unit4;Pwd=xxxx;" $conn.open() $cmd = New-object System.Data.Odbc.OdbcCommand($query,$conn) $ds = New-Object system.Data.DataSet (New-Object system.Data.odbc.odbcDataAdapter($cmd)).fill($ds) | out-null $conn.close() $ds.Tables[0] | Export-Csv -NoTypeInformation -Encoding "ASCII" -Path "C:\export\GROOTBOEKMUTATIES.csv" |
[ Voor 4% gewijzigd door DPLuS op 31-07-2017 14:21 ]