Welcome to Sign in | Help
in Search

Salveaza intr-un .txt

Last post 02-05-2007, 8:21 PM by Alex. 14 replies.
Sort Posts: Previous Next
  •  02-05-2007, 4:02 PM 1679

    Salveaza intr-un .txt

    Salut,....am o procedura de select care la un moment dat se executa.....cum pot salva rezultatul acestui select intr-un document .txt.multumesc

     (SQL Server 2000)

  •  02-05-2007, 4:40 PM 1681 in reply to 1679

    Re: Salveaza intr-un .txt

    În afară de metoda evidentă (copy/paste din Management Studio), poţi să foloseşti OSQL/SQLCMD sau BCP pentru a salva conţinutul unui query într-un fişier text. Soluţia cea mai recomandată e SSIS, probabil. Cred că se poate şi cu linked servers, dar nu sunt sigur. Dacă vrei un anumit format mai complex, poţi să te gândeşti la Reporting Services sau la un program într-un limbaj oarecare în care să deschizi un recordset şi să-l scrii linie cu linie în fişierul text.

    Răzvan

  •  02-05-2007, 4:53 PM 1682 in reply to 1681

    Re: Salveaza intr-un .txt

    nu..vreau ceva mult mai simplu....de genul...

     


    DECLARE @mesaj as nvarchar(50),@NrDuplicate int,@data datetime
    SELECT @NrDuplicate = (SELECT COUNT(*) FROM Tmp) - (SELECT DISTINCT COUNT(*) FROM Tmp)
    set @data=getdate()
    set @mesaj = 'In data de '+cast(@data as nvarchar(12))+' avem in tabela Tmp un numar de '+cast(@NrDuplicate as nvarchar(4))+' duplicate.'

    DECLARE
     @cmd  sysname,
     @var  nvarchar(100),
     @destinatie nvarchar(50)

    set @var=@mesaj
    set @destinatie='C:\test.txt'
    SET @cmd = 'echo ' + @var + ' > '+@destinatie
    EXEC master..xp_cmdshell @cmd
    GO

    dar nu merge.....imi scapa mie ceva....nu cunosc bine xp_cmdshell....ma ajuta cineva?

    unde e greseala?

  •  02-05-2007, 4:55 PM 1683 in reply to 1681

    Re: Salveaza intr-un .txt

    pt ca o sa fac un job care apeleaza o procedura ce include partea de mai sus....si sa-mi salveze zilnic acolo ce intoarce mesajul ala
  •  02-05-2007, 4:58 PM 1684 in reply to 1682

    Re: Salveaza intr-un .txt

    Mie imi merge:

    DECLARE
     @cmd  sysname,
     @var  nvarchar(100),
     @destinatie nvarchar(50)

    set @var='Test'
    set @destinatie='C:\test.txt'
    SET @cmd = 'echo ' + @var + ' > '+@destinatie
    EXEC master..xp_cmdshell @cmd
    GO

     


    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
  •  02-05-2007, 5:07 PM 1685 in reply to 1684

    Re: Salveaza intr-un .txt

    nu-mi merge :(.........in QA daca rulez imi zice

     output

    NULL

    iar in folderul C:\test.txt

    nu apare nimic

  •  02-05-2007, 5:10 PM 1686 in reply to 1685

    Re: Salveaza intr-un .txt

    scuze...intradevar merge....doar ca folderul era pe D nu pe C
  •  02-05-2007, 5:13 PM 1687 in reply to 1686

    Re: Salveaza intr-un .txt

    dar problema e alta acum...ca se suprascrie fisierul

    eu vreau sa-mi pastreze toate datele si cele pe care le bag azi...si maine etc....nu de fiecare data cand se executa acest script sa mi se scrie peste.....sa se scrie fisierul iar....:(

     

  •  02-05-2007, 5:26 PM 1688 in reply to 1687

    Re: Salveaza intr-un .txt

    Incearca de exemplu:

    SET @destinatie = 'C:\test_' + CONVERT(nvarchar(10), GETDATE(), 126) + '.txt'

    Altfel, eu ma alatur lui Razvan...cred ca e mai nimerit un BCP (care nu e deloc complicat si ruleaza rapid) sau o foarte simpla aplicatie .NET care exporta datele...Este si SSIS/DTS o solutie, dar nu atat de "lightweight"... 


     

  •  02-05-2007, 5:27 PM 1689 in reply to 1687

    Re: Salveaza intr-un .txt

    Poţi să foloseşti "echo ...>>fisier.txt" in loc de "echo ...>fisier.txt".

    Răzvan
     

  •  02-05-2007, 5:48 PM 1690 in reply to 1689

    Re: Salveaza intr-un .txt

    multumesc tuturor......

     diana as folosi cu placere BCP daca as sti :)....o sa citesc despre varianta ta poate e mai buna....momentan varianta lui rscol(Razvan) ma ajuta mult  '>>'

  •  02-05-2007, 5:58 PM 1692 in reply to 1690

    Re: Salveaza intr-un .txt

    Exemplele din Books Online pentru utilizarea bcp sunt lamuritoare,testati-le
    Gheorghe Ciubuc,SQL Server Influencer, MCP(SQL 2000), MCTS (SQL Server 2005) , OCA(Oracle 9i), Sybase(Brainbench)
  •  02-05-2007, 6:28 PM 1693 in reply to 1692

    Re: Salveaza intr-un .txt

    mai am inca o intrebare

     de ce......

    SELECT DISTINCT * FROM Tmp ---intoarce 200 inregistrari

    si

    SELECT DISTINCT COUNT(*) FROM Tmp ---intoarce 212 inregistrari

  •  02-05-2007, 6:45 PM 1695 in reply to 1693

    Re: Salveaza intr-un .txt

    "SELECT DISTINCT COUNT(*) FROM Tmp" e identic cu "SELECT COUNT(*) FROM Tmp"

    Probabil vrei să scrii "SELECT COUNT(DISTINCT coloana) FROM Tabela"
    sau "SELECT COUNT(*) FROM (SELECT DISTINCT * FROM Tmp) x".

    Răzvan

  •  02-05-2007, 8:21 PM 1700 in reply to 1695

    Re: Salveaza intr-un .txt

    asa e....inca o data ai dreptate ;)....multumesc
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems