Para generar un archivo txt desde el SQL Server, se tiene que ejecutar la siguiente sentencia con la estructura:
DECLARE @Cmd AS VARCHAR(1000)
SET @Cmd ='bcp "SELECT DATA FROM [NOMBRE_TABLA] [WHERE CONDICION1]" queryout [RUTA_DIRECTORIO_DESTINO]/[NOMBRE_ARCHIVO].txt -c -T -S [NOMBRE_SERVIDOR_BD] -U [USUARIO_BD] -P [CLAVE_USUARIO_BD] -d [NOMBRE_BD]'
EXECUTE Master.dbo.xp_CmdShell @Cmd
Ejemplo:
DECLARE @Cmd AS VARCHAR(1000)
SET @Cmd ='bcp "SELECT DATA FROM TRN.PROCESO_SALIDA_DETALLE WHERE CODIGO_PROCESO_SALIDA=63" queryout D:\UNIQUE\Documentos\ejemplo\query01_out.txt -c -T -S uni010028021249 -U usr_app_sfc -P u$r_@pp_$fc -d FINANCIERO_PUENTE'
EXECUTE Master.dbo.xp_CmdShell @Cmd
y si quisiera que el nombre sea la fecha actual ??
ResponderEliminardeclare @fecha varchar(12) set @fecha=cast(year(getdate()) as varchar(4))+'-'+right('00'+cast(month(getdate()) as varchar(2)), 2)+'-'+right('00'+cast(day(getdate()) as varchar(2)), 2);
Eliminardeclare @Archivo VARCHAR(255) SET @Archivo = 'c:\'+@fecha+'_NOMBRE.txt';
Buen día, estoy tratando de realizar el proceso pero no me genera el archivo, qué estaré haciendo mal?
ResponderEliminar'bcp "SELECT Texto FROM [MercaInventario].[ddmrp].[tmp_siesa_pedido] WITH(NOLOCK) " queryout \\192.168.100.80\Siesa\Pedidos\prueba.txt -c -T -S [NOMBRE_SERVIDOR_BD] -U [USUARIO_BD] -P [CLAVE_USUARIO_BD] -d [NOMBRE_BD';
No pongo las credenciales por temas de seguridad.
Gracias