Erste Spalte-Namen mit BCP queryout
Ich muss BCP für eine Tabelle in eine tab-getrennte Datei, aber ich brauche die Spalten-Namen in den ersten Datensatz der Tabelle. Frage 1: Bin ich richtig, dass BCP keinen Schalter dafür? Frage 2: Wenn Nein, warum nicht?
Habe ich versucht, Folgendes zu tun:
BCP "declare @colnames varchar(max); select @colnames=coalesce (@colnames+char(9), '')
+ Column_Name from db.information_Schema.columns where table_name='table1' order by
ordinal_position; select @colnames" queryout Table1_Columns.tsv -S?? -U?? -P?? -f** -e**
Format-Datei sieht wie folgt aus:
9.0
1
1 SQLCHAR 0 100 "\r\n" 1 Column_Names SQL_Latin1_General_CP1_CI_AS
Diese bekommt von mir eine Datei mit den Spaltennamen, dann ein zweiter BCP-Befehl wird mir eine Datei mit Daten, und ich nur DOS-kopieren Sie die beiden zusammen. Frage 3: Bin ich schlau oder was? Frage 4: Warum geht es nicht? Ich bekomme die Fehlermeldung:
SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Native Client]Host-file columns may be skipped only when
copying into the Server
InformationsquelleAutor Dom | 2014-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
bcp unterstützt nicht den Export der Spaltenüberschriften mit den Daten, es gibt jedoch einige workarounds wie das exportieren der Header in einer separaten Datei, dann verschmelzen beide die Header-und Daten-Dateien wie die folgenden:
Können Sie auch löschen Sie die nicht verwendete Dateien:
Oder vielleicht können Sie alle Daten kombinieren, die in einer Ansicht (Sie Header hinzufügen), und exportieren Sie es
'SETTINGS_ID' is not a recognized option
. Keine Ahnung ?Sie haben, um es zu ersetzen mit Ihrem eigenen Spaltenüberschriften.
wie können Sie den Befehl kopieren mit dem Ort als parameter? ex:
EXEC master..xp_cmdshell 'copy /b "' + @OutputLocationHeader +'" + "'+ @OutputLocationData + '" "' + @OutputLocation +'"'
es ist mir ein Fehler für den ersten+
ZeichenInformationsquelleAutor Mona Yehia