2012-08-27 27 views
7

Depuro un procedimiento almacenado (SQL Server 2005) y necesito encontrar algunos valores en una tabla de datos.Uso de la utilidad bcp para exportar consultas SQL a un archivo de texto

El procedimiento lo ejecuta un evento de la aplicación y miro solo la salida de depuración.

hago lo siguiente mi procedimiento almacenado (SQL Server 2005), que tuvo una tabla del sistema (master.dbo.spt_values) como ejemplo:

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 

Así, cuando elimine el comentario de la segunda como si todo funciona, un archivo se detiene en la unidad C: \ ... pero si lo devuelvo dejando solo la primera línea, se genera cualquier salida.

¿Cómo solucionar este problema?

Respuesta

14

bcp out exportaciones tablas.

para exportar una consulta utilización queryout lugar - que necesita para envolver su consulta en "comillas dobles"

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

Cuestiones relacionadas