none
BCP, caratteri tab e a capo RRS feed

  • Domanda

  • l'utility bcp gestisce l'esportazione di alcune mi tabelle anche se queste, in alcuni campi, compaiono dei caratteri tab o degli a capo.

    Però quando cerco di importare i file txt nelle tabelle bcp fallisce in quanto trova errori nei cast e quindi salta intere paginate di importazione.

    C'è un modo per dire a bcp di esportare solo caratteri ascii entro un certo range? 

    Sono aperto anche ad altre soluzioni

    PS sul programma con il quale gli utenti inseriscono i dati nelle tabelle non posso operare

    venerdì 1 febbraio 2013 07:28

Risposte

  • Allora.. per gli errori di cast durante l'importazione tramite BCP non saprei dirti, quelli sono errori che non credo tu possa risolvere senza aggiungere una "maschera" di normalizzazione dei tuoi dati.

    Mi spiego meglio.. potresti eseguire la BULK IMPORT su una tabella non correttamente tipizzata per sfruttare la velocità di importazione dati della BCP, e successivamente normalizzare ed importare i tuoi dati nella tabella tipizzata con procedure di normalizzazione (e a quel punto puoi anche gestirti i caratteri speciali).

    Per quanto riguarda msdn, sulla bulk import c'è una pagina che spiega espressamente come forzare le importazioni ed esportazioni di testi in formato unicode : Using unicode character to import and export data

    Un saluto

    venerdì 1 febbraio 2013 08:49

Tutte le risposte

  • Ciao Ugaciaka.. (:

    scusa ma non ho afferrato bene qual'è il tuo problema principale.. l'errore nei cast durante l'importazione o il fatto che ci sono dei tab ed invii nel testo?

    venerdì 1 febbraio 2013 08:14
  • Ciao Ugaciaka.. (:

    scusa ma non ho afferrato bene qual'è il tuo problema principale.. l'errore nei cast durante l'importazione o il fatto che ci sono dei tab ed invii nel testo?

    entrambi, a me basterebbe levarli o prima (durante l'esportazione) o dopo (prima dell'esportazione). Ho letto il manuale di bcp ma non vedo ci sia questa possibilità. Ma spero di sbagliarmi :-D
    venerdì 1 febbraio 2013 08:24
  • Allora.. per gli errori di cast durante l'importazione tramite BCP non saprei dirti, quelli sono errori che non credo tu possa risolvere senza aggiungere una "maschera" di normalizzazione dei tuoi dati.

    Mi spiego meglio.. potresti eseguire la BULK IMPORT su una tabella non correttamente tipizzata per sfruttare la velocità di importazione dati della BCP, e successivamente normalizzare ed importare i tuoi dati nella tabella tipizzata con procedure di normalizzazione (e a quel punto puoi anche gestirti i caratteri speciali).

    Per quanto riguarda msdn, sulla bulk import c'è una pagina che spiega espressamente come forzare le importazioni ed esportazioni di testi in formato unicode : Using unicode character to import and export data

    Un saluto

    venerdì 1 febbraio 2013 08:49
  • Allora.. per gli errori di cast durante l'importazione tramite BCP non saprei dirti, quelli sono errori che non credo tu possa risolvere senza aggiungere una "maschera" di normalizzazione dei tuoi dati.

    Mi spiego meglio.. potresti eseguire la BULK IMPORT su una tabella non correttamente tipizzata per sfruttare la velocità di importazione dati della BCP, e successivamente normalizzare ed importare i tuoi dati nella tabella tipizzata con procedure di normalizzazione (e a quel punto puoi anche gestirti i caratteri speciali).

    Per quanto riguarda msdn, sulla bulk import c'è una pagina che spiega espressamente come forzare le importazioni ed esportazioni di testi in formato unicode : Using unicode character to import and export data

    Un saluto

    Mumble, per la normalizzzione cosa consigli?

    Comunque grazie mille, quella dell'unicode mi era sfuggita. Vedo se con l'infrastruttura in mia possesso posso gestire la cosa e se questa risolve.

    venerdì 1 febbraio 2013 09:04
  • Bhé, dipende da quanto deep bisogna andare con la normalizzazione dei tuoi dati..

    Puoi avere un approccio "set-based" o "by row", il primo più performante, il secondo tipicamente più flessibile.. entrambi efficaci, da valutare in base a quant'è la tua conoscenza di TSQL e quanto sono "sporchi" i dati che importi.. (:

    venerdì 1 febbraio 2013 10:13