2010-12-13 2 views

Antwort

2

Zum Lesen einer Datei in T-SQL, empfehle ich, die BULK INSERT-Anweisung zu verwenden, anstatt mit bcp zu verwirren. Sie verwenden den gleichen zugrundeliegenden Mechanismus, aber wenn Sie bereits in einem T-SQL gespeicherten Proc sind, ist es besser, nicht in den Befehlszeilenbereich zu springen.

Leider, soweit ich weiß, gibt es keine SQL-Anweisung, die Sie ausführen können, um eine Datei zu schreiben. Du musst also etwas wie exec master..xp_cmdshell @cmd machen. Sie können bcp oder osql als Ihren Befehl verwenden. Wenn Sie bcp verwenden, this page has a nice tutorial, sondern nur zusammenfassen, hier ist ein Beispielcode:

-- make a pipe delimited file... requires access to xp_cmdshell and the file system 
declare @cmd varchar(8000) 
select @cmd = 'bcp mydb.dbo.tblWhatever out "c:\bcp\tblWhatever.txt" -c –t| -T -S' + @@servername 
exec master..xp_cmdshell @cmd 
+0

ich das versucht, die Abfrage gearbeitet, aber es scheint nicht, die Datei in das Verzeichnis ausgegeben wird. Ich muss weiter damit spielen und herausfinden warum. –

+0

Nicht genug Benutzerrechte wahrscheinlich? –

Verwandte Themen