2012-08-27 14 views
7

I debugowania procedura składowana (SQL Server 2005) i muszę znaleźć niektóre wartości w datatable.Użycie narzędzia bcp do eksportowania zapytań SQL do pliku tekstowego

Procedura jest uruchamiana przez zdarzenie aplikacji i widzę tylko dane wyjściowe debugowania.

Mam następujący mój procedura przechowywana (SQL Server 2005), wziąłem tabeli systemowej (master.dbo.spt_values) jako przykład:

set @logtext = 'select name, type from master.dbo.spt_values where number=6' 
--set @logtext = 'master.dbo.spt_values' 
SET @cmd = 'bcp ' + @logtext + ' out "c:\spt_values.dat" -U uId -P uPass -c' 
EXEC master..XP_CMDSHELL @cmd 

Więc kiedy odkomentowaniu drugi jak wszystko działa, plik znajduje się na dysku C: \, ale jeśli go powrócę, pozostawiając tylko pierwszy wiersz, generowane są wszystkie dane wyjściowe.

Jak rozwiązać ten problem?

Odpowiedz

14

bcp out tabel eksportowych.

Aby wyeksportować stosowanie zapytań queryout zamiast - trzeba owinąć zapytanie w „cudzysłów”

set @logtext = '"select name, type from master.dbo.spt_values where number=6"' 
--set @logtext = 'master.dbo.spt_values' 
SET @cmd = 'bcp ' + @logtext + ' queryout "c:\spt_values.dat" -U uId -P uPass -c' 
EXEC master..XP_CMDSHELL @cmd 

http://msdn.microsoft.com/en-us/library/ms162802.aspx

Powiązane problemy