lunedì 1 giugno 2015

Ren BCTabella.dbo BCTabella.old, perché SQL SERVER è uno stupido accrocchio di file di testo.



Mentre tutto mondo è a casa a godersi un giorno di ponte, in onore del sacro editto chiamato in gergo populis 11° Comandamento, ovvero "Ricordati di pontificare le feste", io mi trovo alla mia postazione di tennico per soddisfare le richieste di Tizio e Caio che se sfortuna non mi prende, non si uniscono con Martino e Filano generando una sequela di richieste al limite del paradosso quantico, tale paradosso presuppone che data la presenza della richiesta da parte di Tizio, per le leggi quantiche anche Martino avrà la medesima richiesta pur lui trovandosi dall'altro lato del mondo.

Ma non è di questo che voglio parlarvi con questo post, trovandoci nella situazione dove un cliente ha chiesto l'esportazione e la re importazione dei dati da un vecchio database sql in uno nuovo, il mio collega/capo, decide di dire la sua su una qualche tipo di fantasmagorica manovra per fare digerire una tabella fatta in un modo, ad un database che quella tabella la vuole in un altra maniera.

DRIIIIN..DRIIIIN....DRIIIIIIIN

Io: Si ciao, dimmi...
Lui: Allora...$cliente
Io: Si
Lui: Esportazione ed importazione ditte bla bla bla bla
Io: Si, abbiamo già risolto la cosa facendo un backup completo ed un restore del database altrove mantenendo la versione e poi facendo gli aggiornamenti a partire da quella...
Lui: Si, ma cosi non mi piace, vorrei capire se, visto l'errore che da, seguimi, è tabella troppo aggiornata, si prega di utilizzare dati compatibili con la procedura bla bla bla ed il database bla bla bla versione fri fri.
Io: Si, direi che ci sta...
Lui: Ma dentro il database sql non ci stanno dei file (!!!) che possiamo rinominare come i vecchi programmi, che tu rinominavi, il programma poi ricreava il file vuoto, poi sovrascrivevi e tutto funzionava?
Io: Direi di no...nei db sql ci sono molt [vengo interrotto]
Lui: Non mi interessa (!!!) se prima funzionava, da 15 anni che funzionava con i file, anche con sql deve funzionare !!! (?!??) 
Io: Ma su quale base puoi dire questa cosa!?
Lui: Perché questi programmi fatti da $produttore, funzionano, sono sicuro che questa cosa deve funzionare, quindi anche se io non sono un tecnico sistemista, ma faccio lavorare il cervello (e già), ti dico questo!
Io: Ok, se ti dicessi che ci stanno tante tabelle, che ci stanno le relazioni tra le tabelle, se i dati che importi venissero scritti male in questa tabella, che mi spiace ripeterlo E' DIVERSA da quella di origine, e c...[interrotto di nuovo]
Lui: Tu non mi ascolti! Se noi rinominiamo il file (la tabella), importiamo, poi rimettiamo la tabella di prima (il sql decoupage), tutto funziona?
Io: N [vengo interrotto]

A questo punto, non so per quale motivo la telefonata prende toni incazzati, nervosi, il mio dire come stanno le cose "NON PIACE", la tecnica vs la prepotenza, lo yin versus lo yang, io non riesco nemmeno più a capire dove si voglia andare a parare. Rifletto sulla cosa e decido di non pronunciarmi e di dichiararmi estraneo al sapere se queste operazioni da lui proposte funzionino o meno, quindi NO COMMENT. 

Lui: Ah quindi si o no?
Io: NO! Se importi una tabella che il programma (in versione diversa da quello che ci si aspetta) non la legge, cosa ottieni? UN BELLISSIMO ERRORE!
Lui: Ma se l'importazione da esito positivo, perché non deve funzionare?!
Io: Non lo so
Lui: Secondo me deve funzionare, ne sono sicuro, per 15 anni ha funzionato!
Io: Non-lo-so
Lui: Questo devi dire!
Io: Sono una capra, hai ragione tu.
Lui: Talè...basta va, lascia perdere, ciao.

Non posso farcela.

PS: Le operazioni dirette sulle tabelle di un db sql sono ovviamente fattibili, conoscendo la struttura del db stesso è possibile alterarle senza comprometterne il funzionamento....CONOSCENDONE LA STRUTTURA! Ma qui già sapere come uno si chiama di nome e cognome è già assai.