IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Accès aux données Discussion :

Jet ODBC OleDB ADO Quel capharnaüm !


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Homme Profil pro
    Tooling - Testing
    Inscrit en
    Décembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Tooling - Testing

    Informations forums :
    Inscription : Décembre 2008
    Messages : 141
    Points : 65
    Points
    65
    Par défaut Jet ODBC OleDB ADO Quel capharnaüm !
    Bonsoir,

    je suis un peu perdu .... devant le trop plein de solutions????

    Question : je veux accéder un simple fichier excel type xls xlsx ou assimilés.

    Je peux soit inlcure une réference ... et créer des proc id, process et application Excel avec microsoft.interop.excel ..
    ou avec COM de microsot Excel 14.0. object Libray ou 9.0 ou 2.0 ...
    en réalité je ne comprends rien là-dedans mais cela fonctionne !!!
    avec du code genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                   Dim ProcId As Integer = 0
                    Dim process1() As Process = Process.GetProcesses()
                    Dim AppXLS As Excel.Application
                    Dim process2() As Process = Process.GetProcesses()
                     Dim WSExcel As New Excel.Worksheet
                    ...
                    'compte les champs
                    Dim rrange As Integer = WSExcel.UsedRange.Rows.Count
                    Dim crange As Integer = WSExcel.UsedRange.Columns.Count
        etc etc
    ou alors je vois sur internet du code avec micorsoft microt jet
    ou alors oledb
    ou alors ODBC

    de même j'ai inséré des références Oracle ou IBM.DB2 pour les bases de données correspondantes mais les seules ODBC ou OLEDB sont elles aussi valables pour ces pourvoyeurs de bases de données, aussi sûres, aussi portables,????

    Autrement dit quand utiliser les interfaces vers les bases de données ou fichiers spécieux. ou ODBC ou ADO ou OleDB ou JET ou IBM ou Oracle, ...?

    Les quelques articles que j'ai lus ne me donnent pas les bonnes pratiques, le bon usage.


    Quelqu'un peut il développer ou me renvoyer vers un article suffisamment éclairant?

    Même pas sûr que j'ai été clair !!!

    Merci

    Pierre

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Bonjour,

    à mon avis, il est casiment toujours préférable d'utiliser le provider du constructeur pour accéder aux bases de données, il est, en général, plus efficace.
    Par exemple en utilisant IBM.DB2 au lieu d'ODBC j'ai gagné en efficacité.

    Pour ce qui est d'Excel, je n'ai fait que par Interop pour le moment, mais d'après ce que j'ai vu récemment sur ce forum il est peut être plus interessant d'utiliser OLEDB/ODBC.
    Le Porc est un loup pour le Porc.

  3. #3
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 166
    Points : 7 418
    Points
    7 418
    Billets dans le blog
    1
    Par défaut
    Entre Interop ou liens BDD, il faut savoir que les possibilités ne sont pas les mêmes :
    - En lien BDD, tu n'as accès qu'aux données, de façon simplifiée (SQL)
    - En Interop, tu as accès à tout, mais de façon bien plus compliquée : mélange entre programmation C# et spécificités Excel (Range, etc.)

    C'est donc deux philosophies différentes. A toit de choisir cette qui te convient le mieux.

    En règle générale, en termes de performances uniquement :
    Interop est mieux que COM

    Et pour BDD :
    Drivers .NET mieux que OLEDB mieux que ODBC

    Jet est un moteur de base de données (pour lire les fichiers CSV, Excel ou Access entre autres), qui existe donc avec différents connecteurs.

    Voilà, il s'agit de règles générale. Il existe toujours des exceptions à tout.

    En tout cas, le choix devrait porter sur drivers .NET ou Interop, les autres solutions n'étant présentes que pour des raisons de rétro compatibilité (préconisation Microsoft).
    On ne jouit bien que de ce qu’on partage.

  4. #4
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 166
    Points : 7 418
    Points
    7 418
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par asmduty Voir le message
    à mon avis, il est casiment toujours préférable d'utiliser le provider du constructeur pour accéder aux bases de données, il est, en général, plus efficace.
    Ce n'est pas toujours vrai (comme je disais, il y a toujours des exceptions ^^)

    Les drivers ODBC et OLEDB pour Oracle fournis par Oracle étaient particulièrement bugées, alors que ceux fournis par Microsoft étaient bien plus stables et plus rapides.

    Avec .NET, seul Oracle fourni un drivers, qui est stable, donc la question ne se pose plus
    On ne jouit bien que de ce qu’on partage.

Discussions similaires

  1. [SQL Server 2000] ODBC -> OLEDB
    Par Débéa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/02/2006, 10h18
  2. Driver ODBC ou ADO ?
    Par mona dans le forum Débuter
    Réponses: 1
    Dernier message: 30/03/2005, 09h49
  3. Problèmes d'accent avec une connexion ODBC et ADO
    Par michael.jacques dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2005, 15h36
  4. PostGreSQL 8 : ODBC, OLEDB, ADO et chaine de connection
    Par romeo9423 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 25/01/2005, 09h38
  5. interfacage BD avec ADO : quel forum ?
    Par romeo9423 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 24/01/2005, 11h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo