none
Gerar arquivo texto sem quebra de linha RRS feed

  • Pergunta

  • Boa tarde


       Por favor alguém saberia me dizer o é necesário fazer para que esse comando so SQLserver, no momento que estiver gerando o arquivo texto 'texte.txt', não gere uma quebra de linha no final?

     

     

    exec MASTER..XP_CMDSHELL 'ECHO teste>>c:\teste_.txt'

     

    Atenciosamente

    Robson Mantovani

    terça-feira, 29 de maio de 2007 18:00

Respostas

  • Robson,

     

    O que você está querendo é uma funcionalidade que não tem nada a ver com o SQL. O xp_cmdshell vai apenas executar o que estiver entre aspas.. Neste caso o ECHO teste>>c:\teste_.txt vai gerar a quebra de linha automaticamente...

    terça-feira, 29 de maio de 2007 18:55
  • Obrigado Roberto

     

    Na verdade eu preciso gerar um arquivo texto com o retorno de resultado de uma tabela do sql server, sendo assim , você conhece alguma outra maneira de fazer esse arquivo txt sem quebra de linha, atraves de transact-sql

     

    obrigado novamente

    terça-feira, 29 de maio de 2007 19:24
  • Acho que você poderia utilizar o FOR XML.... E daí gerar seu arquivo texto, só que em formato XML....

     

    DÊ uma olhada sobre FOR XML Clause no BOL.

     

    USE AdventureWorks
    GO
    SELECT Cust.CustomerID, 
           OrderHeader.CustomerID,
           OrderHeader.SalesOrderID, 
           OrderHeader.Status,
           Cust.CustomerType
    FROM Sales.Customer Cust 
    INNER JOIN Sales.SalesOrderHeader OrderHeader
    ON Cust.CustomerID = OrderHeader.CustomerID
    FOR XML AUTO
     
    terça-feira, 29 de maio de 2007 21:30
  • Robson,

     

    O arquivo deve ser .txt?

     

    Você poderia utilizar um bcp fazendo um output para um arquivo texto.

     

    Veja este exemplo, extraído do Boosk On-Line do SQL Server:

     

    bcp "SELECT FirstName, LastName FROM AdventureWorks.Person.Contact ORDER BY LastName, Firstname" queryout Contacts.txt -c -T

     

    Para maiores informações sobre a ferramenta de linha de comando BCP utilize o Books On-Line do SQL Server, eu acesse os meus artigos técnicos publicados no TechNet Media Center: https://www.technetbrasil.com.br/mediacenter/subject.aspx?center=16

     

    quarta-feira, 30 de maio de 2007 11:10

Todas as Respostas

  • Robson,

     

    O que você está querendo é uma funcionalidade que não tem nada a ver com o SQL. O xp_cmdshell vai apenas executar o que estiver entre aspas.. Neste caso o ECHO teste>>c:\teste_.txt vai gerar a quebra de linha automaticamente...

    terça-feira, 29 de maio de 2007 18:55
  • Obrigado Roberto

     

    Na verdade eu preciso gerar um arquivo texto com o retorno de resultado de uma tabela do sql server, sendo assim , você conhece alguma outra maneira de fazer esse arquivo txt sem quebra de linha, atraves de transact-sql

     

    obrigado novamente

    terça-feira, 29 de maio de 2007 19:24
  • Acho que você poderia utilizar o FOR XML.... E daí gerar seu arquivo texto, só que em formato XML....

     

    DÊ uma olhada sobre FOR XML Clause no BOL.

     

    USE AdventureWorks
    GO
    SELECT Cust.CustomerID, 
           OrderHeader.CustomerID,
           OrderHeader.SalesOrderID, 
           OrderHeader.Status,
           Cust.CustomerType
    FROM Sales.Customer Cust 
    INNER JOIN Sales.SalesOrderHeader OrderHeader
    ON Cust.CustomerID = OrderHeader.CustomerID
    FOR XML AUTO
     
    terça-feira, 29 de maio de 2007 21:30
  • Robson,

     

    O arquivo deve ser .txt?

     

    Você poderia utilizar um bcp fazendo um output para um arquivo texto.

     

    Veja este exemplo, extraído do Boosk On-Line do SQL Server:

     

    bcp "SELECT FirstName, LastName FROM AdventureWorks.Person.Contact ORDER BY LastName, Firstname" queryout Contacts.txt -c -T

     

    Para maiores informações sobre a ferramenta de linha de comando BCP utilize o Books On-Line do SQL Server, eu acesse os meus artigos técnicos publicados no TechNet Media Center: https://www.technetbrasil.com.br/mediacenter/subject.aspx?center=16

     

    quarta-feira, 30 de maio de 2007 11:10