Immer bcp.exe die Flucht terminatoren
Muss ich den export einiger Daten mithilfe des SQL Server 2000-Dienstprogramm BCP. Manchmal meine Daten enthält Zeichen wie \t und \n, die ich als Spalte und Zeile, Abschlusszeichen. Wie bekomme ich BCP escape-Zeichen verwendet, als terminatoren, als es gibt die Daten, so dass ich tatsächlich den import der Daten in ein anderes Programm?
Zum Beispiel, einer meiner Spalten ist text-Daten, und enthält Tabulatoren und Zeilenumbrüche. BCP nur die Ausfuhren Ihnen als-ist, und das Programm, das ich bin versucht, zu importieren, Sie mit dem verwechselt wird, da die Daten enden in der Mitte einer Zeile und/oder eine Zeile enthält zusätzliche Spalten ohne ersichtlichen Grund.
Dies scheint wie eine sehr, sehr, sehr sehr basic-Funktion, die in ein datenexporteur, aber keiner von die Befehlszeilen-Optionen scheinen, es zu erwähnen. (Warum es würde nicht einfach werden, der Standard ist mir schleierhaft.) Bin ich etwas fehlt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie keine Daten mit tabs und Zeilenumbrüche mit tabs und newline-Separatoren. Es macht keinen Sinn. Die Flucht würde nicht helfen, denn ein tab ist ein tab. Wir reden hier nicht von c# - string-handling hier.
Was ich tun würde, ist die Verwendung verschiedene terminatoren wie
|
und||/n
, oder verwenden Sie eine format-Datei\n
zurück in einen tatsächlichen Zeilenumbruch in einer text-Spalte. Und leider kann ich nicht angeben, wird eine Zeile Trennzeichen in PostgreSQL.\n\\\t
und wieder zu einem Zeilenumbruch, backslash und Registerkarte "importieren". Könnten Sie eine Referenz für Zwielichtige entkommen? Ich konnte nichts sehen auf postgresql.org/docs/8.4/static/sql-copy.html . SQL Server ist vorhersehbar, klar, aber nicht die Ausgabe, die ich bin (oder pgsql ist) suchen.Völlig mit Ihnen überein: die Flucht sollte eine option sein. "Sie können keine Daten mit tabs oder newlines" ist das dämlichste was ich je gehört habe.
Hier ist eine mögliche Lösung:
unwahrscheinlich, dass Sie in Ihren Daten (#!#$#%#). Ich denke, Sie können mehrere
Zeichen, so dass macht es einfacher.
Werfen Sie einen Blick auf dieser Artikel für mehr Informationen.
Können Sie ein Trennzeichen aus mehreren Zeichen, wenn Sie Sie zwischen Anführungszeichen:
bcp MY_TABLE out C:\MY_FILE.txt -S SERVER_IP -d DB_NAME -U MY_USER -P MY_PASSWORD -w -t "&#)^@" -r ">~+!"
Lösung gefunden hier.
Ich habe das gleiche problem und suchte eine lange Zeit, eine Lösung zu finden.
Ich fand dieses aus einem BCP-master und es klingt vernünftig.
Vielleicht wollen Sie es auch probieren.
Mögliche Lösung: http://groups.google.co.uk/group/microsoft.public.sqlserver.tools/tree/browse_frm/thread/f1ee12cba3079189/ef9094123901fe26?rnum=1&q=lindawie+format+file&_done=%2Fgroup%2Fmicrosoft.public.sqlserver.tools%2Fbrowse_frm%2Fthread%2Ff1ee12cba3079189%2Fef9094123901fe26%3Ftvc%3D1%26q%3Dlindawie%2Bformat%2Bfile%26#doc_fa5708ca51d967a6
Format-Datei-details & design:
http://msdn.microsoft.com/en-us/library/aa173859%28SQL.80%29.aspx
Generell kann ich empfehlen, diese links zu erhalten Sie wissen über BCP Probleme und Lösungen:
http://groups.google.co.uk/groups?q=lindawie+format+Datei
Beste Grüße