Gli "Ospiti" della Sala Macchine


Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register


Nota: i miei commenti (quando ci sono) sono in italico

I dati li volevi cosi', no?

La premessa:

Per importare i dati su un DB si possono usare vari strumenti e formati. Uno dei piu' comodi e' il formato CSV (comma separated value), ovvero un semplice file ASCII in cui ogni riga e' un record; i campi all'interno del record sono separati da un carattere speciale, di solito la virgola. Questo tipo di file e' portatile, leggero e puo' essere anche aperto con espel; per rendere piu' facile la consultazione "umana" di solito sulla prima riga vengono messi i nomi dei campi.

I protagonisti:

RP: il povero programmatore/analista/tuttofare, consulente presso una $grande_ditta.
CLx: dei CL che lavorano dalla parte del cliente: sono consulenti anche loro ma non possono essere cazziati piu' di tanto ("si danno tanto da fare, fino a tardi..." e' la giustificazione ufficiale).

La situazione:

RP e' al telefono con CL1 per farsi dare i dati da caricare su un DB: si tratta di 50 tabelle, alcune con piu' di 20 campi, quasi tutti numerici e pieni di decimali.

RP: Mi potresti mandare i dati di queste tabelle in formato CSV?
CL1: Ok, ma devi aspettare un paio di giorni, perche' ci metto un po' a farli...
RP: (ma che li fa a mano?) Va bene, prima me li mandi meglio e'.
Subito dopo RP, memore di precedenti esperienze, richiede via email allo stesso CL1 lo "spool delle tabelle in formato CSV". Per completezza, la stessa email arriva per conoscenza a CL2, collega di CL1 e impegnato nel medesimo progetto. I due lavorano nella stessa stanza.

Due giorni dopo RP riceve una email con un allegato NON compresso, della dimensione approssimativa di 700Kb, in formato $expel. Insospettito dal nome ("tabelle.xls") apre la mail e subito dopo telefona di nuovo a CL1.

RP: Ciao CL1. Spiegami come mai invece dei CSV mi hai mandato un UNICO file $espel con TUTTE le tabelle all'interno, un foglio di lavoro per ciascuna, e SENZA i nomi dei campi sopra!
CL1: Beh, ma non era quello che ti serviva?
RP: (bestemmiando mentalmente in turco) Guarda che anche per email ti avevo chiesto dei file CSV...
CL1: Ok, aspetta, per domani te li invio.
RP: (Evvai, siamo in ritardo! Come se non avessi altro da fare) Ok... pero' che sia domani in giornata, non di sera...

Il giorno dopo, verso l'ora di pranzo, arriva la email, questa volta con un bell'archivio con estensione ".ZIPPATO".

No, CL1 non e' COSI' idiota... e' il genio che gestisce il nostro server di posta ad aver inibito l'invio/ricezione di email che abbiano allegati con certe estensioni esoteriche come appunto ".ZIP". Lo stesso Einstein e' riuscito anche a NON configurare un messaggio di ritorno, cosi' se il cliente ci invia un'email con allegato "proibito" non viene avvertito in nessun modo...

Il motivo di queste genialate? Sicurezza... vabbe', sorvoliamo. Comunque, RP scarica la posta, controlla l'archivio si ri-precipita al telefono.

RP: Ciao CL1, sempre RP. Scusa, ma come mai sulla prima riga dei file non ci sono i nomi dei campi? Ieri c'erano.
CL1: I nomi dei campi? Perche', ti servivano?
RP: Senti, ho 50 tabelle da caricare e alcune sono piene di numeri con 10 o piu' decimali, che vi sentite sempre in dovere di utilizzare tutti fino all'ultimo. Se carico una colonna su un'altra, secondo te come me ne accorgo?

Ascoltando la conversazione, interviene CL2 direttamente al telefono.

CL2: Ciao RP, sono CL2. Senti, va bene lo stesso se ti mandiamo i dati come istruzioni INSERT? Per noi sarebbe piu' semplice...
RP: (come sarebbe, "piu' semplice"? Ci sono tool che fanno tutte e due le cose con pochi click del mouse... vabbe', meglio non indagare) fai come ti pare, basta che me li invii in un formato utilizzabile e che me li invii prima possibile.
CL2: Ok, per stasera te li mando.

Il nostro eroe aspetta fino a sera, intorno alle 19:30... finalmente la posta da segni di vita. Il solito file, stavolta con estensione ".ZP", tanto per gradire. Dopo averlo scompattato impreca in tutte le lingue a lui conosciute e riacchiappa il telefono.

RP: CL2!!!
CL2: Ciao RP. Scusa per come ti ho inviato i dati, ma era cosi' urgente e ho fatto un po' di fretta...
RP: (respira... calma... ispira...) Gia' che ci sei mi spieghi COME hai fatto a cambiare formato dei file 5 volte?
CL2: beh, adesso i dati sono a posto, no?
RP: (respira... calma... ispira... ecco fatti qualche bel ls -l, cosi' ti calmi e ti spieghi meglio...) a parte il fatto che comunque per come lavora l'applicativo dovro' modificare lo stesso A MANO quello che mi hai inviato, spiegami se puoi: nell'archivio ci sono 13 file con estensione ".XLS", 9 file con estensione ".DAT", 5 file con estensione ".SQL", 8 file hanno estensione ".TXT" e 15 file hanno estensione ".DOC"! Ma non avevi niente di meglio da fare che cliccare su tutto quello che avevi a tiro sul desktop? Hai incollato delle INSERT persino sui documenti $parola!
CL2: beh, prima ho pensato di inviarti dei file di testo, poi per fare prima...
RP: ...hai aperto $parola, che e' notoriamente MOLTO piu' leggero di un editor di testo come $blocco_appunti, e ci hai incollato quelle istruzioni INSERT... e lo stesso vale per $expel...
CL2: ...pero' adesso hai i dati che volevi, no? E le INSERT hanno anche i nomi delle colonne, cosi' non ti puoi sbagliare...

...be', non ha tutti i torti... adesso i dati, in un modo o nell'altro ce li hai...

A volte mi chiedo se sono io a non capire come va il mondo...

RP
21/10/2004 00:00

Previous elenco Next

le storie degli ospiti sono in ordine sparso, quindi 'precedente' e 'successiva' possono portare su storie di altri autori

Comments are added when and if I (or the story's author) has the time to check them and after removing junk, phishing and so on. So don't hold your breath. Besides, if your comment doesn't get posted, don't write me about it. Evidently it wasn't worth it.

1 message this document does not accept new posts

Chris

Terapia d'urto By Chris posted 19/04/2009 12:04

Suvvia, un bel sacco e un bel bastone, sapientemente usati col favore delle tenebre, sicuramente possono giovare al loro QI.

-- Chris


Previous tales' list Next


This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.


This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.

This site isn't optimized for vision with any specific browser, nor it requires special fonts or resolution.
You're free to see it as you wish.

Web Interoperability Pleadge Support This Project
Powered By Gojira