Welcome Guest, you are in: Anmelden

CP Wiki

RSS RSS

Navigation



  1. Administration

Suche im wiki
»
 » Startseite » netFrame als Plattform Menü » Tipps und Tricks » CSV Datei mit SQL Server | » Erweiterte Suche

Der einfachste Weg Daten aus einer Datenbank in eine CSV Datei zu schreiben ist das BCP Kommando.

BCP netFrame..NET_PERSON out c:\sysobjects.txt -c -t, -T –S
Das Standard Format für das BCP Kommando um eine CSV Datei zu erstellen ist:

BCP <table> out <filename> <switches>

Die switches die verwendet werden sind:

  • -c Ausgabe in eine ASCII Datei mit dem Standard Feld Begrenzer (TAB) un der Zeilenschaltung (CRLF)
  • -t Überschreibe den Feldbegrenzer mit einem anderen Zeichen
  • -T Benutze eine sichere Verbindung. Beachte das U –P auch für username/password benutzt werden kann
  • -S Verbinden dich mit folgendem Server um das Kommando auszuführen

Beachte das, wie auch DTS/SSIS, BCP eine Client Utility ist, und du auch die Verbindungsinformationen mitgeben musst.

Für den Transfer zwischen 2 SQL Servern sollten sie statt dem "-c" das "-N" (-N = Unicode) für das native Data Format verwenden.
Die ist viel schneller und verhindert Zeichensatz Konvertierungsprobleme.
Die BCP Command Utility wird über T-SQL mit der gesp. Prozedur cmdshell aufgerufen.
Erstellen sie ein Verzeichnis auf dem Gerät wo der SQL Server läuft mit dem Namen bcp (c:\bcp)

declare @sql varchar(8000)

select @sql = 'bcp netFrame..NET_PERSON out c:\bcp\sysobjects.txt -c -t, -T -S'+
servername

exec master..xp_cmdshell @sql</code>
{BR}
Verwenden eines anderen Feldbegrenzers (z.B ;):{br}
{BR}
<code sql>declare @sql varchar(8000)

select @sql = 'bcp netFrame..NET_PERSON out c:\bcp\sysobjects.txt -c –t; -T -S' + 
servername

execmaster..xp_cmdshell@sql

Um einen andere Zeilenschaltung anzugeben verwenden sie das –r switch:

declare @sql varchar(8000)

select @sql = 'bcp netFrame..NET_PERSON out c:\bcp\sysobjects.txt -c -t, -r0x0D -T -S' + @@servername

exec master..xp_cmdshell @sql

ScrewTurn Wiki version 3.0.1.400. Some of the icons created by FamFamFam.