Ich möchte einige SQL Server 2005-Daten in das CSV-Format exportieren (durch Kommas getrennt). Ich kann mir viele komplizierte Wege vorstellen, aber ich möchte es auf die richtige Weise machen. Ich habe mir bcp angesehen, aber ich kann nicht herausfinden, wie die Anführungszeichen um die Felder gesetzt werden (außer, sie mit den Feldwerten zu verketten, was hässlich ist). Ich denke, ich könnte es mit sqlcmd und -o machen, aber das scheint aus demselben Grund hässlich zu sein.
Gibt es eine bcp-Methode, um dies zu tun?
Gibt es eine vernünftige SQL-Methode, um dies zu tun?
Gibt es im Management Studio ein tolles, einfaches Dienstprogramm, das ich einfach übersehen habe?
Wählen Sie in Management Studio die Datenbank aus, klicken Sie mit der rechten Maustaste, und wählen Sie Tasks->Export Data
aus. Dort werden Optionen zum Exportieren in verschiedene Arten von Formaten angezeigt, einschließlich CSV, Excel usw.
Sie können Ihre Abfrage auch über das Abfragefenster ausführen und die Ergebnisse in CSV speichern.
Legen Sie in Management Studio die Abfrageoptionen für die Ausgabe in eine Datei fest, und legen Sie unter Optionen-> Abfrageergebnisse die Ausgabe in einer Datei mit einem Komma als Trennzeichen fest.
Wenn Sie Management Studio nicht verwenden können, verwende ich sqlcmd.
sqlcmd -q "select col1,col2,col3 from table" -oc:\myfile.csv -h-1 -s","
Das ist der schnelle Weg von der Kommandozeile aus.
Ich musste noch etwas anderes tun als das, was Sijin gesagt hatte, damit es richtig in SQL Server Management Studio 2005 zitiert werden konnte
Tools->Options->Query Results->Sql Server->Results To Grid
Setzen Sie einen Haken neben dieser Option:
Quote strings containing list separators when saving .csv results
Hinweis: Die obige Methode funktioniert nicht für SSMS 2005 Express! Soweit ich weiß, gibt es keine Möglichkeit, die Felder beim Exportieren von Ergebnissen nach .csv mit SSMS 2005 Express zu zitieren.
Ja, es gibt ein sehr einfaches Dienstprogramm in Management Studio, wenn Sie lediglich Abfrageergebnisse in einer CSV speichern möchten.
Klicken Sie mit der rechten Maustaste auf die Ergebnismenge und wählen Sie "Ergebnisse speichern unter". Der Standarddateityp ist CSV.
Wenn dies Ihren Anforderungen entspricht, können Sie bcp in der Befehlszeile verwenden, wenn Sie dies häufig tun oder in einen Produktionsprozess integrieren möchten.
Hier ist ein Link , der die Konfiguration beschreibt.
Für Ad-hoc-Anfragen:
Ergebnisse im Rastermodus anzeigen (STRG + D), Abfrage ausführen, im Ergebnisraster oben links klicken, in Excel einfügen, als CSV speichern Sie können möglicherweise direkt in eine Textdatei einfügen (kann es jetzt nicht versuchen)
Oder "Results to file" hat auch Optionen für CSV
Oder "Ergebnisse zum Text" mit Komma-Trennzeichen
Alle Einstellungen unter Tool..Options und Query .. Optionen (ich denke, ich kann nicht prüfen)
In SQL 2005 ist das einfach: 1. Öffnen Sie das SQL Server Management Studio, und kopieren Sie die benötigte SQL-Anweisung in die TSQL-Instanz, z. B. exec sp_whatever Query-> Results to Grid 3. Markieren Sie die SQL-Anweisung und führen Sie sie aus 4. Markieren Sie die Datenergebnisse (klicken Sie mit der linken Maustaste auf den oberen linken Bereich des Ergebnisrasters) 5. Klicken Sie nun mit der rechten Maustaste und wählen Sie Ergebnisse speichern unter 6. Wählen Sie unter Dateityp die Option CSV aus, geben Sie einen Dateinamen ein, wählen Sie einen Speicherort aus und klicken Sie auf Speichern.
Einfach!
nocount einschalten
die Anführungszeichen sind da, verwenden Sie -w2000, um jede Zeile in einer Zeile zu halten.
Ich denke, der einfachste Weg dazu ist Excel.
Wenn Sie eine neuere Version von Excel haben, können Sie die Daten von PowerPivot importieren und dann in eine Tabelle einfügen.
In SQL Server 2012 - Management Studio:
Lösung 1:
Führen Sie die Abfrage aus
Klicken Sie mit der rechten Maustaste auf das Ergebnisfenster
Wählen Sie im Menü die Option Ergebnisse speichern unter
Wählen Sie CSV
Lösung 2:
Klicken Sie mit der rechten Maustaste auf die Datenbank
Wählen Sie Aufgaben, Daten exportieren
Wählen Sie Quell-DB aus
Wählen Sie Ziel: Flat File-Ziel
Wählen Sie einen Dateinamen aus
Wählen Sie Format - Getrennt aus
Wählen Sie eine Tabelle aus oder schreiben Sie eine Abfrage
Wählen Sie einen Spaltenbegrenzer aus
Hinweis: Sie können ein Textqualifikationsmerkmal auswählen, das Ihre Textfelder wie Anführungszeichen begrenzt.
Wenn Sie ein Feld mit Kommas haben, verwenden Sie kein Komma als Trennzeichen, da es keine Kommas gibt. Sie können ein Trennzeichen für die Spalte auswählen, z. B. Vertical Bar: | anstelle von Komma oder Tabulatorzeichen. Schreiben Sie andernfalls eine Abfrage, die Ihren Kommas entgeht oder Ihr varchar-Feld begrenzt.
Das zu verwendende Escape-Zeichen oder Text-Qualifikationsmerkmal hängt von Ihren Anforderungen ab.
Sie können das folgende Node.js-Modul verwenden, um es mit einer Brise zu tun:
SSIS ist dafür ein sehr guter Weg. Dies kann dann mithilfe von SQL Server-Agentenaufträgen geplant werden.