SQL Server ed ALM su database


Il blog di Alessandro Alpi
Archivio Posts
Anno 2018

Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Bug Visual Studio BIDS in italiano

Oggi mi sono imbattuto in un problema stranissimo, e ci sono rimasto veramente male.. riguarda il componente Lookup del data flow..

Lookup è quel task che consente di andare a fare delle ricerche mirate su tabelle per controllare se un record esiste oppure per ricavare un particolare campo (o elenco di campi) da una riga in base alla chiave.

E' il seguente:

Facendo doppio click sul task otteniamo l'interfaccia di impostazione delle proprietà del task. La prima è la sezione Reference Table:

Qui è possibile definire la tabella su cui andare a fare la ricerca, oppure un estratto della tabella (SQL con join e quant'altro).

Spostandoci sulla sezione Columns appare la seguente interfaccia:

In rosso è cerchiato il legame su cui effettuare la ricerca (nell'esempio dalla colonna A derivante da un File di testo, varchar(50) alla colonna Nome varchar(50), della tabella Utenti. In questo modo andiamo a dire al nostro task di ricercare, riga per riga, un record sulla tabella Utenti la cui colonna Nome corrisponda col valore corrente di A, passato dalla sorgente nella pipeline..

In blu invece sono indicati i checkbox con cui è possibile selezionare i campi da aggiungere all'output del task. Quindi, se prima avevo A,B,C derivanti dal file, dopo la lookup (nel caso in cui il match con la tabella Utenti si verifichi) avrò A,B,C,IDUtente,IDAgente (così come indicato nella parte in basso della sezione Columns).

La terza ed ultima sezione è la Advanced e permette di impostare alcune proprietà avanzate

Con questa sezione è possibile gestire l'utilizzo e la gestione della memoria da parte del lookup. E' possibile, una volta abilitata la voce Enable Memory Restriction, forzare il caching dei dati su cui effettuare ricerche in vase di PreExecute in modo da migliorare le prestazioni del task, determinare la quantità di memoria da utilizzare per la cache (default 5MB) oppure cambiare lo statement SQL.

In ognuna delle tre precedenti sezioni c'è anche il pulsante Configure Error Output Row:

Con questo bottone è possibile determinare il comportamento del task in caso di lookup mancata (gestire errori, ridirigere righe, ecc).

La parte su cui vorrei focalizzarmi è la seconda, quella riguardante le colonne e la loro associazione. Nel post, ho utilizzato la versione che ho installato sul mio pc, in inglese, poichè preferisco non installare prodotti con culture diverse.. E questo bug che illustrerò mi spinge a seguire sempre di più questa via..

Sezione columns, versione italiana:

Notare la parte cerchiata di rosso.. clickando sulla colonna da aggiungere all'output in alto a destra, in automatico, Lookup aggiunge sotto la colonna Operazione di ricerca la selezione <aggiungi come nuova colonna>. Mentre se clickiamo sul combobox è selezionabile <Aggiungi come nuova colonna>, con la A maiuscola..

Ebbene.. se noi lasciamo indicata la versione con la minuscola il lookup non aggiunge colonne in output.. per verificarlo basta salvare il lookup e riaprirlo, non appariranno colonne in output aggiuntive. Se selezioniamo la stessa (e sottolineo stessa per significato) voce dall'elenco, ma con la maiuscole, la colonne viene correttamente aggiunta..

Questa cosa ha dell'incredibile.. o almeno, io non riesco ancora a capacitarmi del problema..

Mi è già successo più volte e sempre in terminal server (remote desktop).. non ho mai avuto l'occasione di provarlo direttamente installato sulla mia macchina..

Non vorrei fosse un problema legato al terminal..

Se qualcuno di voi ha incontrato lo stesso problema, si faccia sentire..

Io continuo ad installare i prodotti in inglese , anche se nei miei post noterete che molte cose sono in italiano, ma questo è per facilitare la lettura a chi non ha mai utilizzato SSIS..

Stay tuned!

Categoria: SSIS 2005 tips
venerdì, 09 feb 2007 Ore. 10.26
Statistiche
  • Views Home Page: 600.986
  • Views Posts: 1.067.787
  • Views Gallerie: 641.188
  • n° Posts: 484
  • n° Commenti: 273



















Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003