Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server
MS SQL-Server Forum Microsoft SQL-Server. Avant de poster -> FAQ SQL-Server, Tutoriels SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 05/09/2011, 14h51   #1
Chroniqueur Actualités
 
Avatar de Hinault Romaric
 
Homme Hinault Romaric
Consultant
Inscription : janvier 2007
Messages : 2 121
Détails du profil
Informations personnelles :
Nom : Homme Hinault Romaric
Localisation : Cameroun

Informations professionnelles :
Activité : Consultant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2007
Messages : 2 121
Points : 31 186
Points : 31 186
Par défaut Microsoft abandonne OLE DB dans SQL Server

Microsoft abandonne OLE DB dans SQL Server
Denali sera la dernière version du SGBD à soutenir l’API d’accès aux données


Microsoft abandonne progressivement son interface de bas niveau pour l’accès aux données OLE DB (Object Linking and Embedding, Database) pour ODBC.

L’API Microsoft OLE DB avait été développée pour permettre l’accès à différentes sources de données, incluant celles n’utilisant pas un processeur de requête SQL. La technologie avait été conçue dans le but de remplacer ODBC (Open Database Connectity).

Cependant, ODBC c’est imposé au fil du temps comme le standard de facto utilisé actuellement dans l’industrie pour l’accès et la manipulation des données relationnelles au détriment d’OLE DB.

Dans son souci d’assurer l’interopérabilité entre ses produits et ses partenaires, Microsoft annonce donc la fin du support de la technologie OLE DB au sein de son moteur de base de données SQL Server en faveur d’ODBC.

La prochaine version du SGBD SQL Server, Denali (actuellement disponible en version CTP), sera donc la dernière à supporter l’API. OLE DB sera encore pris en charge 7 ans après la publication de la version finale de Denali.

Microsoft encourage les développeurs à utiliser dorénavant ODBC dans leurs projets futurs.

Cette orientation vers ODBC offrira également une plus grande clarté aux développeurs C/C++ qui pourront désormais concentrer leurs efforts uniquement sur une seule API.

La plate forme Cloud de Microsoft, SQL Azure, a déjà intégré ce virage vers ODBC.

Une décision qui suscite néanmoins plusieurs interrogations auprès des développeurs, car Microsoft avait présenté OLE DB comme un outil plus puissant qu’ODBC. De plus, OLE DB propose certaines fonctionnalités (qui ont été utilisées par des développeurs) et qui ne sont pas disponibles avec ODBC.

Il est vrai que ces développeurs auront encore quelques années pour négocier cette transition.

Et vous ?

Que pensez-vous de ce choix de Microsoft ?

Source : Blog SQL Server
__________________
Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
Mon blog Mes articles
En posant correctement votre problème, on trouve la moitié de la solution
Hinault Romaric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 19h19   #2
Expert Confirmé Sénior
 
Avatar de _skip
 
Homme
Développeur d'applications
Inscription : novembre 2005
Messages : 2 316
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Développeur d'applications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : novembre 2005
Messages : 2 316
Points : 4 751
Points : 4 751
Citation:
Envoyé par Hinault Romaric Voir le message
Que pensez-vous de ce choix de Microsoft ?
Je vais peut être passer pour un troll (j'espère pas), mais il me semble que très peu de SGBD non microsoft proposaient une couche OLEdb réellement efficace et aboutie. Je pense que personne depuis plusieurs années n'a commencé un développement en se basant sur de l'OLEdb, sauf peut être les utilisateurs de certains RAD comme windev qui profitaient des fonctionnalités supplémentaires par rapport à ODBC (récupération de metadata notamment).
_skip est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/09/2011, 08h57   #3
Membre confirmé
 
Inscription : février 2006
Messages : 234
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 234
Points : 240
Points : 240
via le .net Microsoft recommandait de passer par l'OLEDB et maintenant il l'abandonne. Faudrait savoir quoi
CAML est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 09h46   #4
Expert Confirmé Sénior
 
Avatar de _skip
 
Homme
Développeur d'applications
Inscription : novembre 2005
Messages : 2 316
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Suisse

Informations professionnelles :
Activité : Développeur d'applications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : novembre 2005
Messages : 2 316
Points : 4 751
Points : 4 751
Citation:
Envoyé par CAML Voir le message
via le .net Microsoft recommandait de passer par l'OLEDB et maintenant il l'abandonne. Faudrait savoir quoi
Ado.net plutôt non?
_skip est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 14h39   #5
Membre Expert
 
Homme
Développeur informatique
Inscription : décembre 2008
Messages : 433
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2008
Messages : 433
Points : 1 493
Points : 1 493
Citation:
Envoyé par wikipedia
OLE DB (parfois orthographié OLEDB ou OLE-DB) est une API développée par Microsoft permettant l'accès aux données.

OLE DB se sert d'interfaces COM (Component Object Model)1. Il a été conçu dans le but de remplacer ODBC, de ce fait il permet l'accès à des bases de données exotiques ou des sources de données qui n'utilisent pas un processeur de requêtes SQL.

OLE DB fait partie du framework MDAC.
Il faut dire que je n'entend parler que rarement de SGBDR n'utilisant le SQL, et que ODBC est plutôt très populaire, dans le genre.
Je doute que l'usage d'OLE DB soit très répandu, et je pense que ms l'a compris, et que c'est pour ça qu'ils lâchent l'affaire.

Sinon, c'est quoi la différence entre ODBC et OLE-DB?
Meilleure performance? Ca ne me semble pas a l'ordre du jour...
Plus simple à utiliser? Plus bas niveau, donc j'en doute, et l'époque est moins à l'optimisation du code que celle du temp.
Plus aisément portable? J'en doute.
Alors pourquoi utiliser cette techno?

PS: ce sont de vraies questions, donc si on me met un down, je veux bien qu'on m'explique pourquoi.
Freem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 15h26   #6
Membre habitué
 
Inscription : janvier 2008
Messages : 212
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 212
Points : 135
Points : 135
Etonnant !

J'ai toujours préféré utiliser OLEDB car plus performant qu'ODBC.
Qu'en est-il de SQL Native Client ?
Philippe Robert est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 19h47   #7
Responsable Delphi
 
Franck Soriano
Leader Technique
Inscription : juin 2005
Messages : 1 739
Détails du profil
Informations personnelles :
Nom : Franck Soriano
Âge : 34
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Leader Technique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2005
Messages : 1 739
Points : 3 724
Points : 3 724
Citation:
Envoyé par Freem Voir le message
Il faut dire que je n'entend parler que rarement de SGBDR n'utilisant le SQL, et que ODBC est plutôt très populaire, dans le genre.
Je doute que l'usage d'OLE DB soit très répandu, et je pense que ms l'a compris, et que c'est pour ça qu'ils lâchent l'affaire.
Au contraire, OLEDB et sa surcouche ADO sont les standards pour accéder à un SGBD sous Windows depuis une bonne décennie...
La plupart des applications natives sous Windows utilisent ADO. Autrement dit OLEDB. Il ne faut pas oublier qu'ADO est une surcouche pour faciliter l'appel à OLEDB. Et très souvent pour se connecter à un SGBD en ODBC, on utilise ADO avec un provider OLEDB qui se greffe par dessus un driver ODBC...

OLEDB est assez lourd et complexe à utiliser, mais si on fait l'effort de s'y mettre, les performances sont vraiment excellentes !

Peu de développeur en on conscience mais aujourd'hui dans une appli BDD, la première source de ralentissement, se sont les performances de l'API d'accès au SGBD du côté client !
Sous SQL Server, le jour où j'ai remplacé la couche ADO de Delphi par ma propre implémentation utilisant directement OLEDB, j'ai multiplié par 4 la montée en charge de l'application... L'écart de performances d'une API à une autre est phénoménal !

Je pense que Microsoft doit justifier ce choix en se disant que maintenant les applis doivent passer sous .NET. Et qu'en .NET on utilise ADO.NET.
SQL Server disposant d'un provider .NET qui est à la fois triviale d'utilisation (comparé à OLEDB), tout en étant encore plus performant qu'OLEDB...

Par contre petite question. Comment on fait un IRowsetFastLoad avec ODBC ?
Franck SORIANO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 20h56   #8
Membre éclairé
 
Lionel
Inscription : décembre 2008
Messages : 290
Détails du profil
Informations personnelles :
Nom : Lionel
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2008
Messages : 290
Points : 394
Points : 394
OLEDB avait évincé ODBC dans la logique d'accès aux données MS pour implémenter les objets activex et bypasser la couche des source de données paramétrées dans le panneau de configuration.
A l'époque , on y voyait une optimisation puisque les programmes fonctionnaient dés l'installation et il n'était pas nécessaire de passer en mode admin et paramétrer l'acces aux données sur chaque machine cliente.

Par contre les benchmarks que j'avais faits montraient une baisse de perf d'environ 20% pour oledb contrairement à un cliché de l'époque.

La migration entre ODBC et OLEDB correspondait exactement au passage de DAO à ADO lors de l'upgrade de VB5 à VB6 ou encore de Office 97 à office 2000 et supérieur.

Je vois un avantage à odbc , c'est la sécurité : la fait de stocker le mot de passe crypté sur la machine cliente permet de ne pas le stocker dans la chaine de connection compilée dans le programme client.

Ainsi le mot de passe est entré par l'administrateur une fois pour toutes au moment de la configuration de la machine. Il reste complètement inconnu de l'utilisateur. Priorité à la sécurité donc..

Par la suite en C#, ADO.net est venu avec un jeu de primitives et curseurs complètement différents sans qu'on puisse dire si cela favorisait l'un ou l'autre des drivers odbc ou oledb

Je crois que ces deux familles de drivers ont connu des évolutions drastiques depuis l'origine. Cela dit les développeurs VBA devraient être plus impactés que les autres.
unBonGars est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 00h31   #9
Invité de passage
 
Inscription : janvier 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 3
Points : 4
Points : 4
20% de pertes avec OLEDB, je ne pense pas que MS aurait livré un produit dans cet état.

Cela paraît logique si on considère que même MS ne peut pas s'amuser à payer des gens pour maintenir une technologie pour le plaisir.

Cela peut aussi indiquer qu'à terme (d'ici 10 ans) Microsoft souhaite arrêter COM, ou faire reposer le moins de choses possible dessus.

Citation:
Je vois un avantage à odbc , c'est la sécurité : la fait de stocker le mot de passe crypté sur la machine cliente permet de ne pas le stocker dans la chaine de connection compilée dans le programme client.
C'est un un point de vue un peu partiel :
1) On peut crypter la communication OLEDB.
2) On peut utiliser l'authentification Windows, c'est ce qui est d'ailleurs recommandé.
3) En cas de connexion avec utilisateur SQL, on peut (on doit!) crypter le mot de passe dans le fichier de configuration. .NET Framework propose des API pour ce faire, mais on peut en utiliser d'autres.
4) Stocker le mot de passe sur la machine cliente, en clair dans le registre, ce n'est pas forcément une bonne idée non plus.
5) Ce n'est pas très adapté à de gros parcs.
bigjim2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 09h58   #10
Invité de passage
 
Inscription : octobre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 2
Points : 1
Points : 1
Par défaut Il y a d'autres conséquences

Dans notre société, nous utilisons OleDB dans des modules VBA, avec Delphi Win32 pour accéder à différentes bases dont SQL Server.
Cela va donc énormément nous géner.

De plus la plupart des états Crystal Reports utilisent OleDB (et pas uniquement chez nous). là les conséquences sont énormes !!!

Sinon, nous sentons fortement l'arrêt prochaine de toutes les technologies non .Net chez Microsoft. D'ici à ce que les applications Windows normales passent dans un sous système (style les applications 16 bits actuellement), il n'y a pas loin...
fred85 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 10h13   #11
Invité de passage
 
Didier Ochsenbein
Inscription : mars 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Didier Ochsenbein

Informations forums :
Inscription : mars 2011
Messages : 4
Points : 2
Points : 2
Par défaut Un standard .NET !!

J'ai du mal à comprendre cet abandon... Depuis fin 2001 et ma conversion à 95% au .NET (C# et VB.NET), j'ai, sauf obligation pour certaines bases exotiques, utilisé uniquement OLE DB ou Link !

Est-ce que Link est également concerné ?
didou6869 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 11h54   #12
Membre Expert
 
Homme Sylvain Devidal
Chef de projets Générix
Inscription : février 2010
Messages : 1 062
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Devidal
Âge : 33
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Chef de projets Générix
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2010
Messages : 1 062
Points : 1 515
Points : 1 515
Depuis VB ou autres langages utilisant ADO pour se connecter aux bases de données (en gros, les objets Connection, Transaction, RecordSet et autres) il n'y a aucun changement : il suffit de modifier la chaîne de connexion pour utiliser le drivers ODBC à la place du drivers OLE DB.
=> Pas plus besoin de créer un DSN en ODBC qu'en OLE DB
=> Pour ainsi dire aucun changement au niveau des fonctionnalités (aux bugs près, genre le drivers ODBC d'Oracle fourni par Oracle... est à jeter aux orties !)

Mise à part pour ceux qui tapent en dur dans les librairies d'accès aux données (C/C++) tous les autres langages de haut niveau passent généralement par ADO, donc aucun impact dramatique !
StringBuilder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 12h55   #13
Responsable Delphi
 
Franck Soriano
Leader Technique
Inscription : juin 2005
Messages : 1 739
Détails du profil
Informations personnelles :
Nom : Franck Soriano
Âge : 34
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Leader Technique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2005
Messages : 1 739
Points : 3 724
Points : 3 724
Je pense aussi que contrêtement, l'impact sera limité sur les applications existantes.
Il ne doit guère y avoir que les développeurs C/C++ qui appellent OLEDB directement. Et combien même, même en OLEDB directe il est possible d'utiliser le provider qui se connecte sur ODBC. D'ailleurs en ADO, c'est bien ce qui se passera.

Citation:
Est-ce que Link est également concerné ?
A priori non.
Microsoft parle uniquement des applications Natives.
Les applications .Net possèdent un provider ADO.NET dédié pour SQL Server, totalement indépendant de OLEDB.
En .NET logiquement on n'est pas concerné (sauf à faire de l'ADO.NET par dessus OLEDB...).
Franck SORIANO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 13h20   #14
Modérateur
 
Homme
Administrateur de base de données
Inscription : août 2007
Messages : 1 158
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Belgique

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2007
Messages : 1 158
Points : 1 617
Points : 1 617
Ca risque d'impacter pas mal de packages SSIS par contre!
Ptit_Dje est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 16h13   #15
Membre habitué
 
Inscription : janvier 2008
Messages : 212
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 212
Points : 135
Points : 135
Citation:
Envoyé par Ptit_Dje Voir le message
Ca risque d'impacter pas mal de packages SSIS par contre!
Si SSIS existe encore lorsque OLEDB sera abandonné. Comme ce fut le cas avec l'abandon de DTS, il faudra tout réécrire !
Philippe Robert est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/09/2011, 17h26   #16
Membre actif
 
Inscription : août 2005
Messages : 282
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 282
Points : 164
Points : 164
M$ et ces mil et une techno qu'il crée et qu'il abandonne (vb, asp, com qui ont été abandonnés..). Il donne l'impression de ne pas avoir de vision à long terme, et de faire du bricolage juste pour du fric
kisitomomotene est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 17h29   #17
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 968
Points : 3 968
Citation:
Envoyé par kisitomomotene Voir le message
M$ et ces mil et une techno qu'il crée et qu'il abandonne (vb, asp, com qui ont été abandonnés..). Il donne l'impression de ne pas avoir de vision à long terme, et de faire du bricolage juste pour du fric
Merci pour cette subtile démonstration.
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/09/2011, 18h15   #18
Membre expérimenté
 
Inscription : juillet 2010
Messages : 394
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 394
Points : 540
Points : 540
Citation:
Envoyé par 7gyY9w1ZY6ySRgPeaefZ Voir le message
Merci pour cette subtile démonstration.
C'est quand même un peu vrai. Et de nombreux exemples sont la pour confirmer les faits. Je pense à Iron Python ou Iron Ruby (abandonné à "l'open source"), ou "javascript".NET , et maintenant ils veulent nous faire manger du HTML5 à toutes les sauces pour le développement Windows 8 et Windows phone... il n'y a pas de politique cohérente en terme de cycle de vie des produits MS. Je pense à aussi à Linq to SQL , qui même en étant basique était bien pratique et simple à mettre en oeuvre face à Entity.
camus3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 20h29   #19
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Je pense à aussi à Linq to SQL
Mais seulement compatible SQL SERVER, oseriez vous reprocher cette ouverture à MS?

Que trouvez vous de si compliqué dans LTE comparé à LTS?
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 20h34   #20
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
J'ai du mal à comprendre cet abandon... Depuis fin 2001 et ma conversion à 95% au .NET (C# et VB.NET), j'ai, sauf obligation pour certaines bases exotiques, utilisé uniquement OLE DB ou Link !

Est-ce que Link est également concerné ?
Link n'existe pas voulez vous parler de LINQ to SQL et LINQ TO ENTITIES?
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h09.


 
 
 
 
Partenaires

Hébergement Web