Sto cercando un modo per esportare una tabella SQL Server in un file CSV.Esportazione batch del database SQL in CSV con citazioni di escape
Esistono alcune soluzioni che utilizzano sqlcmd o bcp, ma finora non ne ho trovate nessuna che risparmi correttamente virgolette, virgole o interruzioni di riga.
Per esempio, questo comando consente di creare un bel csv, ma non ignora le citazioni e le virgole, che rende il file CSV inutilizzabile:
bcp MyDatabase..MyTable out c:\test.csv -c -T -t, -r\n -S MYPC
Dai miei dati campione di quattro righe ciascuna contenente qualche altro carattere speciale questo sarebbe creare un file In questo modo:
1,contains " quote
2,contains , comma
3,contains ; semi
4,contains ' single quote
A causa delle virgolette e della virgola questo non è impostabile da altri programmi. Ovviamente potrei cambiare il separatore in tab o il simbolo pipe, ma questo non risolve il problema reale: qualunque sia il separatore, se esiste nei dati renderà il file di esportazione inutilizzabile.
Quindi, come faccio a esportare in serie i dati in un batch in un file csv funzionante utilizzando strumenti SQL standard come BCP, sqlcmd o simili?
il pacchetto SSIS sarebbe un'opzione? – wmz