none
Generar archivo binario en .Net desde SQL RRS feed

  • Pregunta

  • Hola a tod@s.

    No llevo mucho en el desarrollo de .Net y me han pedido realizar en .Net generar un archivo en formato binario, la información, la cual es bastantes registros, que tendrá dicho archivo la debo de obtener de una tabla de SQL.

    Alguien de ustedes, en su experiencia, a generado un tipo de archivo de esta forma?

    Si alguien me puede orientar o dar una idea de como generar el archivo en el formato binario tomando la información desde SQL, le agradecería mucho.


    Yami

    • Cambiado Enrique M. Montejo lunes, 16 de enero de 2017 7:07 Pregunta relacionada con el acceso a datos con SQL Server.
    jueves, 12 de enero de 2017 16:19

Todas las respuestas

  • mira en esta pagina http://www.elguille.info/colabora/NET2005/svalsse_leyendo_y_escribiendo_archivos.htm

    ahi sale un ejemplo en VB de como generar un archivo binario

    static void Main(string[] args)
    {
        try
        {
            string fileName = "temp.txt";
            // data a ser guardada
            int[] data = {0, 1, 2, 3, 4, 5};
            FileStream stream = new FileStream(fileName, FileMode.Open, FileAccess.Write);
            BinaryWriter writer = new BinaryWriter(stream);
    
            for(int i=0; i<data.Length; i++)
            {
                // números son guardados en formáto UTF-8 format (4 bytes)
                writer.Write(data[i]);
            }
    
            writer.Close();
            stream.Close();
        }
        catch
        {
            Console.WriteLine("Error");
    }

    jueves, 12 de enero de 2017 16:47
  • HOLA YAMID

    PORQUE NO TRATAS DE HACER UN CAST A LAS COLUMNAS QUE DESEAS AGREGAR AL ARCHIVO DE LA SIGUIENTE MANERA:

    DECLARE @CADENA VARCHAR(10)='HOLA MUNDO'
    SELECT CAST(@CADENA AS BINARY)

    SELECT CAST(column AS Binary), CAST(column1 AS binary), ... FROM YourTable WHERE <..>

    SALUDOS!


    Sánchez F., Erik

    jueves, 12 de enero de 2017 16:53
  • Gracias por la página y el ejemplo, me orienta con lo que quiero hacer.

    La idea es tomar la información de la tabla y en .Net escribir el archivo en binario.


    Yami

    jueves, 12 de enero de 2017 19:02
  • Hola, gracias por la respesta.

    En SQL estoy dandole ese "tratamiento" a los datos para que me queden en binario de la sigguiente manera:

    SELECT CONVERT(varbinary(8), SUBSTRING([ID_ROM], 1, 16), 2) + ' +
    'CONVERT(varbinary(3), REPLACE(CONVERT(varchar, [FECHA_PROXIMA_REVISION], 3), ''/'', ''''), 2) + ' +
    'CAST([PLACA] + REPLICATE('' '', 17 - LEN([PLACA])) AS varbinary(17)) ' +
    'FROM [BD_PRUEBA].[dbo].[HOMOLOGACIONES] ' +
    'WHERE [NCOMPANY] = ''' + @ncompany + ''' ' +
      'AND [BOTON_HABILITADO] = ''S'' ' + 
      'AND [ID_ROM] NOT LIKE ''%+%'' ' +
      'AND LEN([ID_ROM]) = 16 ' +
    'ORDER BY [ID_ROM] ASC

    Ahora lo que falta es que esa información obtenida guardarla en un archivo desde .Net

    ¿Sabes como puedo guardar la información obtenida desde SQL a un archivo desde .Net?

    Gracias.


    Yami

    jueves, 12 de enero de 2017 19:06