OLE DB of toch … ODBC?

Er zijn van die momenten dat je van jezelf denkt “onder welke steen heb ik gelegen”… Zo’n moment had ik een paar weken geleden toen een collega me wees op de ware reden waarom Integration Services in SQL Server 2012 ineens ODBC source en destination componenten heeft gekregen. ODBC is de ‘nieuwe’ de-facto standaard om verbinding te maken met SQL Server. Nieuwe…? Ja, dat was ook mijn reactie. Want werd ODBC al niet geruime tijd gezien als ‘legacy’? Door mij, en ik denk met mij veel andere Microsoft SQL Server professionals, wel in ieder geval. OLE DB was immers de opvolger van ODBC. Maar volgens de SQLNCli team blog, is OLE DB einde oefening en zal de Microsoft SQL Server OLE DB driver voor toekomstige releases van SQL Server niet meer ondersteund worden. ODBC is het nieuwe OLE DB om de simpele reden dat ODBC het beste ondersteund wordt op alle platformen en alle client applicaties die er zijn terwijl OLE DB een Microsoft technologie is.

Overigens verdwijnt alleen de Microsoft SQL Server OLE DB provider. Andere Microsoft OLE DB providers en OLE DB providers van andere partijen, blijven wel bestaan. Ook in andere Microsoft producten die OLE DB gebruiken, waaronder SSIS en SSAS, blijft het gebruik van OLE DB in de toekomst mogelijk. Meer antwoorden op veel gestelde vragen over deze strategische wijziging van Microsoft vind je in de Microsoft is Aligning with ODBC for Native Relational Data Access – FAQ.

Je zou denken dat je met deze berichtgeving voortaan beter voor een ODBC connectie zou kunnen kiezen bij het maken van een verbinding met een SQL Server instantie. Helaas kan dat alleen met name in SSIS nog voor problemen zorgen… Zoals Jamie Thomson al ondervonden heeft. Zijn advies luidt dan ook weer te wachten met het gebruik van ODBC connecties in SSIS 2012. Kortom, voor nu nog even geen actie, maar we zijn alvast gewaarschuwd!