none
SQL SERVER 2008 - EXPORTAR DATOS SIN TOTALES RRS feed

  • Pregunta

  • Hola todos. ¿ Cómo hago para exportar datos en formato ANSI y sin los totales de registros?
    Mi Servidor: SQL SEVER 2008 - MSSMANAGER: 2018
    1 - Cuando voy a exportar los datos hago la configuración

           2 - Después de exportado mi archivo se queda así


    3 - ¿Cómo hago para omitir estos datos y poner la formatación ANSI?
           Voy a exportar los datos por una procedure, hoy estou haciendo manualmente.

    Gracias por la ayuda
    Bonfim.

    JoseBonfim

    viernes, 21 de agosto de 2020 12:08

Todas las respuestas

  • Hola JoseBonfim:

    Esa manera de exportar es la que realiza el Management Studio, pero si tu lo vas a hacer por un procedure, no tiene nada que ver la herramienta cliente.

    Un ejemplo:

    Exportar archivos con SQLCmd

    https://javifer2.wordpress.com/2019/11/01/exportar-a-archivos-el-resultado-de-consultas-sqlcmd/

    En vez de invocar la query, invocas a un procedure y listo.

    sqlcmd -S SERVER\INSTANCIA
           -d BBDDName
           -o c:\nameFile.txt
           -Q "exec NameProcedure"

    viernes, 21 de agosto de 2020 12:23
  • Otras formas de exportar:

    a) Usando el comando BCP:

    https://docs.microsoft.com/es-es/sql/relational-databases/import-export/import-and-export-bulk-data-by-using-the-bcp-utility-sql-server

    b) Usando el asistente ara importar y exportar en SQL Server Management Studio

    https://docs.microsoft.com/es-es/sql/integration-services/import-export-data/start-the-sql-server-import-and-export-wizard

    Cualquiera de estas dos opciones te genera el archivo sin totales ni nada por el estilo.

    viernes, 21 de agosto de 2020 17:36
  • Javi gracias por contestar-me.

    Me sale un error al ejecutar :
    Si  estoy logueado en el Server no debería tener errores.

    1 - Errores

    Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : 
    SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]. .

    Sqlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : Login timeout expired.

    qlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : 
    A network-related or instance-specific error has occurred while establishing a connection to SQL Server.
    Server is not found or not accessible. 
    if instance name is correct and if SQL Server is configured to allow remote connections. 
    For more information see SQL Server Books Online..

    2 -Procedure

    CREATE PROCEDURE [dbo].[SP_EXP_LISTA]
    AS
    SELECT * FROM PRODUCTO
    GO

    3 - QUERY

    -- EXPORTAR FICHEROS
    
     DECLARE @DIRPATH_DEST VARCHAR(1000)
     DECLARE @CMD VARCHAR(8000)
     DECLARE @FILENAME VARCHAR(300)
    
     SET @DIRPATH_DEST = 'C:\temp\relatorio\'
     SET @FILENAME  = 'relatorio_' + 
     CONVERT(VARCHAR(10),GETDATE(),112)+'.CSV'
    
    -- 01 - CREAR TABLA DE CONTROL
          DECLARE @FILES TABLE(ID INT IDENTITY, FILENAME VARCHAR(400))
    
    -- 02 - EVALUAR STATUS DEL DIRECTORIO
          SET @CMD = 'IF EXIST ' + @DIRPATH_DEST + ' (echo existe ) ELSE (echo ausente)'
          INSERT INTO @FILES EXEC MASTER..XP_CMDSHELL @CMD
    ---      SELECT * FROM @FILES
    
    -- 03 - CREAR LA CONSULTAR
            SET @CMD = 'SQLCMD -S (DESKTOP-SSDGFB3\SQLF16) -e -d FILTROS -q "EXEC SP_EXP_LISTA" -o "'+ @DIRPATH_DEST+@FILENAME + '" -h -1'
            
           EXEC MASTER..XP_CMDSHELL @CMD
    
    Gracias,

    JoseBonfim


    • Editado JoseBonfim viernes, 21 de agosto de 2020 17:57
    viernes, 21 de agosto de 2020 17:57
  • Hola JoseBonfim:

    Si estoy logueado en el Server no debería tener errores.

    Eso no es del todo correcto. Lo primero que te dice, es que sqlcmd tiene problemas al conectarse.

    SQLCMD es otra herramienta cliente, al igual que el Management Studio, diferente. Y el error es que o no tiene permisos, o no se pueda conectar, o.

    qlcmd: Error: Microsoft ODBC Driver 13 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..

    Me inclino a pensar que el problema es que no tienes configurado permitir conexiones remotas.

    En la página de conexiones

    Si mal no recuerdo, requiere reiniciar el servidor.

    Si lo haces desde una ventana de consulta TSQL

    EXEC sp_configure 'remote access', 0 ;  
    GO  
    RECONFIGURE ;  
    GO

    Permitir conexiones remotas

    https://docs.microsoft.com/es-es/sql/database-engine/configure-windows/configure-the-remote-access-server-configuration-option?view=sql-server-ver15

    sábado, 22 de agosto de 2020 4:43