Integrazione con altri database

In questo giorni sto sperimentando un pò delle nuove feature di SQL Server 2008 meno pubblicizzate ma importanti per l'integrazione di SQL Server con altri RDBMS o per la migrazione di database di altri vendor verso SQL Server 2008.

Due importanti novità, tra le tante, che sono poco pubblicizzate perchè non fanno parlare di se (al contrario di annunci roboanti come le funzionalità "Beyond Relational"...) ma che si rivelano fondamentali quando è necessario integrare delle soluzioni con altri database sono il supporto esteso fino ai nanosecondi (!!!) per quanto riguarda la memorizzazione di dati temporali e la possibilità di realizzare User-Defined Aggregate con più di un paramentro di input.

Il supporto della risoluzione temporale fino ai nanosecondi (ossia fino a 7 "decimali" dopo i secondi) è importantissima per chi si trova a lavorare insieme a DB2 (ad esempio) che pemette una memorizzazione ben oltre di millesimi di secondi fino ad oggi supportati da SQL Server. Con SQL Server 2008 finalmente si può dire addio a soluzioni custom a questo genere di problema.

Per avere informazioni approfondite sulle novità circa la memorizzazione di date ed orari non perdetevi il webcast di lunedi 14:

SQL Server 2008 Webcast 7 - Nuovi DateTime data types

Un'altra importante (e tuttore ben nascosta) feature è quella di poter creare aggregazioni custom che permettono di lavorare su più di un parametro di input. Con SQL Server 2008 ad esempio è finalmente possibile scrivere una query come questa:

insert into dbo.Sample values
    (1, 'Davide', 'Mauri'),
    (1, 'Mario', 'Rossi'),
    (2, 'John', 'Doe'),
    (2, 'Bill', 'Green'),
    (1, 'Giuseppe', 'Verdi'),
    (1, 'Marco', 'Bianchi')
go

select id_group, result = dbo.AggregateTest(value_a, value_b) from dbo.Sample group by id_group

il cui risultato è:

Multi-Input-UDA-Result

Questa feaure è estramente importante perchè permette di realizzare in modo custom tutte quelle funzionlità di aggregazione fornite da altri database (ad esempio Oracle) non supportate da SQL Server e che utilizzano più di un parametro di input.

Published domenica 13 gennaio 2008 13.36 by dmauri

Comments

No Comments