Exportar un query a un archivo .txt

Y bien, otra vez un “nunca lo había hecho”, ahora se necesitaba exportar el resultado de un query a un archivo de texto plano, y mientras buscaba, las soluciones cada vez eran mas descabelladas, enredadas,complicadas y extenuantes.

Hasta que encontré la siguiente, me resultó bastante buena así que aquí la tienen,

1. Debes ejecutar lo siguiente

EXEC master.dbo.sp_configure ‘show advanced options’, 1
RECONFIGURE
EXEC master.dbo.sp_configure ‘xp_cmdshell’, 1
RECONFIGURE

esto es para asegurarnos que el xp_cmdshell esta habilitado (también pueden habilitarlo desde la configuración de superficie)

2. Se debe ejecutar lo siguiente para que el comando haga lo que tenga que hacer

EXEC xp_cmdshell ‘bcp “SELECT * FROM sysfiles” queryout “C:\bcptest.txt” -T -c -t,’

aqui tenemos que le pasamos el query tal cual lo necesitamos, y le pasamos la ruta donde queremos que cree el archivo de texto (recuerden que la ruta es local, así que si estan conectados a un servidor tendrán que ir por el archivo de texto a esa ruta en ese servidor)

El caso es que el archivo de texto es creado y uds tendran un problema menos que resolver.

Los parámetros que se están utilizando son:

Queryout – es la que permite espeficar el query con el que se trabajara

File name – donde se insertara el resultado (debe ser la ruta completa)

-T, que especifica que la utilidad bcp se conectara a SQL Server con una conección segura, se pude usar -P (contraseña) y -U (usuario)

-c, especifica el tipo de caracteres que se usara para cada campo

-t, permite especificar el delimitador de campo, el caracter que se especifique despues del -t sera el que separe cada campo

-S, se pude usar para espeficar el nombre del servidor. Si se tiene una Instancia nombrada, sera forzoso usar este parámetro. Algo así como,

EXEC xp_cmdshell ‘bcp “select name, type_desc, create_date from sys.objects” queryout “C:\bcptest2.txt” -T -SDEVELOP\DEV1 -c -t,’

Fuente

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s