sql server - txt - Esporta la tabella dal database al file csv
sqlcmd extract data to csv (4)
Ecco un'opzione che ho trovato per esportare in Excel (può essere modificato per CSV credo)
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=D:\testing.xls;',
'SELECT * FROM [SheetName$]') select * from SQLServerTable
https://code.i-harness.com
Desidero: Esportare la tabella dal database del server sql in un file csv
delimitato da virgole senza utilizzare la procedura guidata per l'importazione importata da SQL Server
Voglio farlo utilizzando una query perché voglio utilizzare la query in automazione
È possibile? L'ho cercato e non ho trovato una buona risposta
Ho scritto un piccolo strumento che fa proprio questo. Il codice è disponibile su github .
Per scaricare i risultati di una (o più) query SQL su uno (o più) file CSV:
java -jar sql_dumper.jar /path/sql/files/ /path/out/ user pass jdbcString
Saluti.
Qualche idea:
Da SQL Server Management Studio
1. Run a SELECT statement to filter your data
2. Click on the top-left corner to select all rows
3. Right-click to copy all the selected
4. Paste the copied content on Microsoft Excel
5. Save as CSV
Utilizzo di SQLCMD (prompt dei comandi)
Esempio:
Dal prompt dei comandi, è possibile eseguire la query ed esportarla in un file:
sqlcmd -S . -d DatabaseName -E -s',' -W -Q "SELECT * FROM TableName" > C:\Test.csv
Ulteriori informazioni qui: ExcelSQLServer
Gli appunti:
Questo approccio avrà le informazioni "Righe interessate" nella parte inferiore del file, ma è possibile eliminarle utilizzando "SET NOCOUNT ON" nella query stessa.
È possibile eseguire una stored procedure anziché la query effettiva (ad esempio "EXEC Database.dbo.StoredProcedure")
- È possibile utilizzare qualsiasi linguaggio di programmazione o persino un file batch per automatizzarlo
Utilizzo di BCP (prompt dei comandi)
Esempio:
bcp "SELECT * FROM Database.dbo.Table" queryout C:\Test.csv -c -t',' -T -S .\SQLEXPRESS
È importante citare il separatore di virgola come -t ',' vs just -t,
Maggiori informazioni qui: bcp Utility
Gli appunti:
- Come per quando si utilizza SQLCMD, è possibile eseguire stored procedure anziché le query effettive
- È possibile utilizzare qualsiasi linguaggio di programmazione o un file batch per automatizzarlo
Spero che questo ti aiuti.
Da SQL Server Management Studio
Fai clic con il pulsante destro del mouse sulla tabella che desideri esportare e seleziona "Seleziona tutte le righe"
Fai clic destro sulla finestra dei risultati e seleziona "Salva risultati come ..."