in

UGISS Community

Il sito della community dello User Group Italiano di SQL Server

BULK INSERT & CR/LF

Last post 07-10-2007 17.04 by s.greci. 3 replies.
Page 1 of 1 (4 items)
Sort Posts: Previous Next
  • 07-09-2007 12.14

    BULK INSERT & CR/LF

    Ciao a tutti.

    Come risolvere il problema del "carattere di fine riga" senza utilizzare un eseguibile esterno?

    Effettuando delle bulk insert da file che provengono da sistemi eterogenei riscontro problemi in merito al carattere di "fine riga".
    Alcuni sistemi usano "0d0a" altri invece no.
    Io attualmente lo risolvo facendo processare il file prima ad un eseguibile (il comando unix2dos esportato per win32) e poi procedendo con la BULK, ma non credo sia molto "igienico" usare tools freeware in ambienti di produzione.

    Qualcuno di voi ha gia' incontrato/risolto questo tipo di problema?

    Grazie in anticipo.

    Ciao
    Ale

    • Post Points: 20
  • 07-10-2007 9.19 In reply to

    • s.greci
    • Top 25 Contributor
      Male
    • Joined on 05-16-2007
    • Alba (CN)
    • Posts 101
    • Points 1.020

    Re: BULK INSERT & CR/LF

    Ciao Ale,

    prima i poterti dare una risposta che tipo di comando stai utilizzando? bcp.exe o l'istruzione T-SQL "BULK INSERT"?

    Altra domanda importante: sei su SQL Server 2000 o su SQL Server 2005?

    Ciao :-)

    Simone. 


     

    Simone Greci
    SQL Server MCP, MCTS
    http://community.ugiss.org/blogs/s.greci/
    BI Specialist @ Solid Quality Learning Italy
    • Post Points: 20
  • 07-10-2007 14.44 In reply to

    Re: BULK INSERT & CR/LF

    Ciao Simo,

    bcp.exe picchiato secco tramite un normale .bat
    nessun file di formato (lo crea lui in automatico)
    righe a spaziatura fissa (che tedio!)
    carattere di fine riga variabile perche' ognuno c'ha il suo e dichiara di avere "la verita' tra le mani!" :)

    Il problema lo ho su SQL 2000 ma non credo che sia diverso in 2005 (a meno che non abbiano fatto qualcosa a bcp.exe).
    Non uso i DTS perche' la mia religione me lo impedisce ed evito cosi' di avere un ulteriore potenziale punto di errore nella catena.

    : )

    Mi ho stato SPIEGATO!?!?!

    : )

    Ciao

    Ale

    • Post Points: 20
  • 07-10-2007 17.04 In reply to

    • s.greci
    • Top 25 Contributor
      Male
    • Joined on 05-16-2007
    • Alba (CN)
    • Posts 101
    • Points 1.020

    Re: BULK INSERT & CR/LF

    Ciao Ale,

    si ti sei stato spiegato bene :-)

    Il problema di files di testo che arrivano da sistemi eterogenei è un grattacapo tipico in scenari di integrazione dati. Ti ho chiesto se usavi SQL 2005 perchè la nuova piattaforma mette a disposizione Integration Services, il successore di DTS (non ha niente a che vedere con i vecchi DTS ed è molto più potente e performante).

    Ma se vuoi evitare a tutti i costi l'utilizzo un applicazione esterna puoi sviluppare una Stored Procedure CLR che si occupi di pre-trattare i files e poi di lanciare il comando T-SQL "BULK INSERT". Ricorda che esiste una versione Express di SQL 2005 completamente gratuita che supporta le Stored Procedures CLR Wink

    Se ti servono altre info basta chiedere!  Ciaoooo

    Simone.


     

    Simone Greci
    SQL Server MCP, MCTS
    http://community.ugiss.org/blogs/s.greci/
    BI Specialist @ Solid Quality Learning Italy
    • Post Points: 5
Page 1 of 1 (4 items)
(C) 2007 User Group Italiano di SQL Server