Published on

August 31, 2017

8 Formas de Exportar Filas de una Consulta T-SQL a un Archivo de Texto

Exportar los resultados de una consulta a un archivo de texto es una tarea común en SQL Server. Existen múltiples formas de lograr esto, cada una con sus propias ventajas y casos de uso. En este artículo, exploraremos ocho métodos diferentes para exportar filas de una consulta T-SQL a un archivo de texto.

1. Mostrar resultados en un archivo en SSMS

En SQL Server Management Studio (SSMS), puedes configurar los resultados de la consulta para que se muestren en un archivo de texto. Simplemente ve a Herramientas > Opciones, selecciona la opción “Resultado a archivo” y ejecuta tu consulta. SSMS te pedirá que especifiques el nombre y la ruta del archivo, y los resultados se guardarán en el archivo de texto especificado.

2. SQLCMD

SQLCMD es una utilidad de línea de comandos en SQL Server que te permite ejecutar comandos y scripts de T-SQL. Puedes usar SQLCMD para guardar los resultados de una consulta en un archivo de texto ejecutando un comando similar al siguiente:

sqlcmd -i c:\sql\miconsulta.sql -o c:\sql\misalida.txt

3. PowerShell

PowerShell es una potente shell de línea de comandos que se puede utilizar para automatizar tareas. Puedes exportar los resultados de una consulta de SQL Server a un archivo de texto utilizando PowerShell ejecutando los siguientes cmdlets:

Invoke-Sqlcmd -InputFile "C:\sql\miconsulta.sql" | Out-File -filePath "C:\sql\salidapowershell.txt"

4. Asistente de Importación/Exportación en SSMS

En SSMS, puedes utilizar el Asistente de Importación/Exportación para exportar datos de SQL Server a un archivo de texto. Haz clic derecho en una base de datos, ve a Tareas > Exportar datos y sigue el asistente para especificar la fuente de datos, el destino y la consulta. El asistente generará un archivo de texto con los datos exportados.

5. SSIS en SSDT

SQL Server Integration Services (SSIS) es una potente herramienta de ETL (Extract, Transform, Load) que se puede utilizar para crear flujos de trabajo de integración de datos complejos. Puedes utilizar SSIS en SQL Server Data Tools (SSDT) para exportar datos de SQL Server a un archivo de texto. Crea un nuevo proyecto de SSIS, agrega un paquete de SSIS y utiliza el Asistente de Importación/Exportación para especificar la fuente de datos, el destino y la consulta. Ejecuta el paquete para generar un archivo de texto con los datos exportados.

6. C#

Si prefieres escribir código, puedes exportar datos de SQL Server a un archivo de texto utilizando C#. En este ejemplo, utilizamos la Tarea de Script en SSDT para escribir los resultados de la consulta en un archivo de texto. El código se conecta a SQL Server, ejecuta la consulta y escribe los resultados en el archivo de texto especificado.

// TODO: Agrega tu código aquí
string consulta = "SELECT TOP 5 [BusinessEntityID],[NationalIDNumber],[OrganizationNode],[OrganizationLevel] FROM [HumanResources].[Employee]";
string conexionSql = "Server=(local);Database=AdventureWorks2016CTP3;Integrated Security=true";
StreamWriter miArchivo = new StreamWriter(@"c:\sql\archivoCSharp.txt");
using (SqlConnection conexion = new SqlConnection(conexionSql))
{
    SqlCommand comando = new SqlCommand(consulta, conexion);
    conexion.Open();
    SqlDataReader lector = comando.ExecuteReader();
    try
    {
        while (lector.Read())
        {
            miArchivo.WriteLine(String.Format("{0}, {1}, {2}, {3}", 
            lector["BusinessEntityID"], lector["NationalIDNumber"], lector["OrganizationNode"], lector["OrganizationLevel"]));
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());
        Dts.TaskResult = (int)ScriptResults.Failure;
    }
    finally
    {
        lector.Close();
        miArchivo.Close();
    }
}

7. Reporting Services

Si necesitas crear un informe personalizado, puedes utilizar SQL Server Reporting Services (SSRS) para exportar los resultados del informe a un archivo de texto. Crea un nuevo proyecto de Servidor de Informes en SSDT, diseña el informe y guárdalo como un archivo CSV. SSRS admite varios formatos de exportación, incluyendo CSV, PDF, Excel y más.

8. BCP

BCP (Bulk Copy Program) es una utilidad de línea de comandos que viene con SQL Server. Está diseñado para transferencias de datos de alto rendimiento entre SQL Server y archivos de datos externos. Puedes utilizar BCP para exportar los resultados de una consulta a un archivo de texto ejecutando un comando similar al siguiente:

bcp "SELECT TOP 5 [BusinessEntityID],[NationalIDNumber],[OrganizationNode],[OrganizationLevel] FROM AdventureWorks2016CTP3.[HumanResources].[Employee] WITH (NOLOCK)" queryout c:\sql\bcp.txt -c -T

Estas son solo algunas de las muchas formas de exportar los resultados de una consulta a un archivo de texto en SQL Server. Cada método tiene sus propias fortalezas y casos de uso, así que elige el que mejor se adapte a tus requisitos. Ya sea que prefieras una interfaz gráfica, herramientas de línea de comandos o código, SQL Server ofrece múltiples opciones para exportar datos de manera eficiente.

Referencias:

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.