C#.NET et les DB (ADO,ODBC,OLE) ???

C#.NET et les DB (ADO,ODBC,OLE) ??? - C#/.NET managed - Programmation

Marsh Posté le 25-02-2008 à 09:51:23    

Bonjour,  
 
J'ai une question en rapport avec les connexions aux bases de données. Je cherche à faire une petite application de test sous .NET et j'ai du mal à évaluer les différences entre toutes les méthodes de connexions offertes...
 
J'ai remarqué que VisualStudio intègre directement une interface avec SqlServer. Cependant je n'ai pas compris ce rapport avec les fichiers. Jusqu'ici une DB je pensais qu'une DB peut-être soit un fichier unique utilisé par un programme soit un ensemble de données gérées par un service lequel fait l'interface avec la couche applicative.  
 
Pour l'instant j'aimerai orienter mon application sur MySQL parce que j'ai pas mal d'expérience avec et le logiciel dBDesigner est vraiment bien foutu.  
 
J'ai remarqué que je peux soit attaquer ma BD directement, soit je peux passer par ODBC. Il me semble que dans un cas je dois utiliser:  
 
SqlConnection
 
et dans l'autre:

OdbcConnection

 
J'ai également découvert l'existence de ALDO et sa méthode d'accès:

ALDODB.Connection

 
Bref... Je peux résumer mon problème en trois questions:
 
Quelle est la meilleure solution à utiliser?  
Quelles sont les avantages de SQLServeur par rapport à MySQL ou MSAccess?
Est-ce que l'utilisation d'ODBC est intéressante?
 
Un point qui m'intéresse également c'est de pouvoir être en mesure de porter mon application avec Mono.
 
Je suis conscient que mon post est un peu décousu mais je dois admettre que je nage un peu...
 


---------------
.:coin:.
Reply

Marsh Posté le 25-02-2008 à 09:51:23   

Reply

Marsh Posté le 25-02-2008 à 12:49:21    

SqlConnection c'est pour SQL SERVER
OracleConnection (via la DDL du client ORACLE) c'est pour ORACLE
 
OdbcConnection, franchement, ce n'est plus utilisé et cela utilise donc une connection ODBC de Windows
 
OledbConnection, tu passes via les pilotes OLEDB pour te connecter à la base de données. Il s'agit d'une lib relativement générique qui fonctionne avec presque tous les SGBD. Il n'y que les trucs vraiment spécifique à l'SGBD qui ne fonctionne pas (exemple les BLOB dans ORACLE).  
 
ALDODB jamais entendu parlé.  
Perso je te conseille les SqlConnection pour SQLServer ou les OracleConnection pour Oracle. Sinon les OLEDB son aussi simple à utiliser aussi.

Reply

Marsh Posté le 25-02-2008 à 18:49:01    

Ok merci, je me suis rendu compte au passage qu'avec OdbcConnection y'a des problèmes avec les paramètres (Parameters.Add/Addwithvalue).  
 
Je vais donc partir sur SqlConnection.  
 
Cependant un truc qui m'ennuie. Si je réalise un soft qui attaque une DB, l'utilisateur va vouloir choisir et configurer sa DB. Bon nombre de softs utilisent une DB propriétaire ou un binaire inexploitable. Le principe d'ODBC est assez sexy dans le sens ou il y a abstraction complete du type de DB qui est derrière. Si j'utilise SqlConnection je vais être contrain d'utiliser Sql à moins d'ajouter toutes les possibilités dans mon code!
 
Est-ce que SQLServer est installé par défaut sur toutes les plateformes Windows?
 
Merci d'avance....

Reply

Marsh Posté le 25-02-2008 à 21:24:01    

non il n'est pas installé par défaut.  
je te recommande OLEDB plutot qu'ODBC. Il s'agit d'une couche générique au dessus de la DB qui est capable de se connecter à presque tous les SGBD sans devoir modifier le code.  

Reply

Marsh Posté le 26-02-2008 à 10:24:20    

SqlServer 2005 Express (celui utilisé avec VS2005) peut être déployé avec ton application via un projet Setup, et ceci en enregistrant directement ta structure de BDD (Schéma, procs stock, etc)


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
Reply

Marsh Posté le 01-03-2008 à 06:13:13    

Bon finalement voici l'état des choses...
 
J'ai finalement trouvé le moyen de m'affranchir du problem "Quelle BD?" en utilisant les "factories" d'ADO.NET. Ca me permet d'être assez souple et d'avoir le même code indépendemment que je travaille avec OleDB, ODBC, MSSQL, Oracle, MySQL ou SQLite.  
 
Pour mon application j'ai finalement opté pour SQLite. Tout est dans un fichier, c'est open-source, c'est portable et c'est largement suffisant pour mon application.  
 
Merci de votre aide...
 


---------------
.:coin:.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed