begin process at 2013 05 25 16:47:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Quel choix de base de données ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Quel choix de base de données ?

samedi 4 août 2012 à 16:34:23 | Quel choix de base de données ?

titicar

Bonjour la communauté,

Je dois me lancer dans la gestion de base de données. Je n'y connais absolument rien dans ce domaine, et reste perdu dans le choix : DAO, ADO, SQL ou mySLQL... au autres.
En fait, j'ai écrit un lecteur pour mes chansons, j'affiche ces dernières soit par le nom de fichier même, soit par leur tag ID3v2. Mais ça devient trop long avec ma collection de musique grandissante. Et je dois donc faire le grand pas d'utiliser une base de données.
En plus, je distribue le programme en freeware, alors je ne voudrais pas imposer aux personnes d'installer un serveur complet qui prendrait plusieurs dizaines de Mo.

Bref, je cherche une DB qui puisse être gérée entièrement en VB6, compatible depuis Win XP jusqu'à Win 7, et pas trop lourde. Celà existe t-il au moins?

Merci pour vos réponses :)
titicar
samedi 4 août 2012 à 18:08:10 | Re : Quel choix de base de données ?

jack

Administrateur CodeS-SourceS
Réponse acceptée !
Salut Titi

Sous VB6, il n'y a que ADO qui fonctionne correctement (DAO étant obsolète).
- ADODC (composant COM) si tu veux utiliser l'interface de navigation dans les enregistrements
- ADODB (simple référence) si tu veux gérer ta base sans interface graphique (que tu créeras toi même)

Ensuite, il faut choisir un fournisseur de DB.
Du moment qu'ils répondent à la norme de langage SQL, ils sont tous utilisables, il n'y a que la chaine de connexion qui changera.
Donc, même si tu pars avec du mySQL et que tu veux basculer sous Access, rien de plus simple : juste la chaine de connexion à modifier; les Recordsets nécessaires au filtrage des données resteront compatibles.
Seul impératif : Rester dans le standard du langage SQL :
mySQL comme Access acceptent le SQL de base, mais ils ajoutent aussi des fonctionnalités à ce langage et celles-ci n'ont pas d'équivalences inter-logiciel. Méfiance donc.

Ton choix va aussi se baser sur la lourdeur du serveur.
Là, il n'y a pas photo, seul les bases de données de Access (fichiers MDB) permettent d'être utilisées sans avoir Access, n'est qu'un outil permettant de créer et gérer des bases de données.
Donc, à part toi, le créateur du logiciel qui aura surement besoin de cet outil pour créer et paramétrer tes tables, tu fourniras à tes utilisateurs un fichier MDB avec ton programme VB6 qui n'aura pas besoin de Access pour fonctionner.

Ensuite, avec ce choix, viennent les capacités des bases.
Pour l'exemple, les fichiers MDB ne peuvent pas dépasser ~2 Go, ou 32768 objets, etc.
Ca parait grand, mais selon l'utilisation, ça peut gêner.
mySQL a surement aussi des limites - à vérifier.

Il me semble que SQL Server Express pourrait aussi faire l'affaire : Gratuit, plus moderne que Access et surement moins de limitations mais nécessite une installation.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
samedi 4 août 2012 à 21:37:39 | Re : Quel choix de base de données ?

titicar


Salut Jack et merci pour ta réponse rapide.

Ok, faut donc que je choisisse ADO. Et vu qu'une simple référence me suffira (je compte tout afficher depuis un TView et LView vu que c'est ce que j'utilise en ce moment avec mon prog), alors je choisi ADODB (que je ne connais absolument pas, comme tout le reste lol).

S'il n'y a pas photo quand à la lourdeur du serveur, alors je choisi Access.

Pour la capacité, je ne pense pas pouvoir dépasser une limite quelconque :)

Par contre, je suis effectivement aussi tombé sur SQL Serveur Express dans mes recherches. J'ai vu
- une v2008 (http://www.microsoft.com/fr-fr/download/details.aspx?id=1695) compatible entre autre avec win Xp, vista, mais pas 7.
- une v2012 (http://www.microsoft.com/fr-fr/download/details.aspx?id=29062) compatible Win Vista, 7, mais pas XP.

La v2008 est-elle redistribuable (en tant que composants) avec un utilisateur sous Win 7? Je suppose que oui, mais des fois je me méfie des compatibilités des produits MS.
J'ai aussi un peu peur des proportions que peuvent utiliser les composants nécessaires à une distribution avec ce SQL Serveur Express. Mais je peux me tromper vu que je n'ai pas encore essayé.

Et vu que je n'ai encore rien essayé d'un point de vu DB, j'ai encore du pain sur la planche. Dommage, je venais de trouver un super tuto qui explique depuis le début (parfait pour moi) une base DAO. Je n'ai plus qu'à trouver le même genre pour l'ADO.

Merci encore ;)
titicar
dimanche 5 août 2012 à 00:19:19 | Re : Quel choix de base de données ?

jack

Administrateur CodeS-SourceS
Tu verras, en lisant des sources qui parlent ou utilisent ADODB, que ce n'est pas plus compliqué que DAO, ça y ressemble beaucoup d'ailleurs.
dimanche 5 août 2012 à 00:37:41 | Re : Quel choix de base de données ?

jack

Administrateur CodeS-SourceS
Pour la référence à ADODB :
Menu Projet + Références + "Microsoft ActiveX Data Objects 2.8 Library"

Pour l'utiliser, simple :
Code Visual Basic :
    Dim oConn   As ADODB.Connection
    Dim oRS     As ADODB.Recordset
    Dim sSQL    As String
    
    Set oConn = New ADODB.Connection
    With oConn
        ' La chaine de connexion
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                            "Persist Security Info=False;" & _
                            "Data Source=monFichier.MDB"
        .Open
        Do While .State = adStateConnecting
            DoEvents
        Loop
        If .State <> adStateOpen Then
            MsgBox "Pas de connexion"
            Exit Sub
        End If
    End With
    
    Set oRS = New ADODB.Recordset
    With oRS
        ' Ta requète SQL
        sSQL = "Select * From maTable"
        ' L'exécution
        .CursorLocation = adUseClient
        .Open sSQL, oConn, adOpenStatic, adLockReadOnly
        ' La récupération des données
        If .RecordCount > 0 Then
            .MoveFirst
            Do While Not .EOF
                DoEvents
                Debug.Print .Fields(0).Value
                .MoveNext
            Loop
        End If
    End With
    oRS.Close
    oConn.Close
Avec la chaine de connexion qui va bien avec la DB que tu auras choisie.
Voir dans les exemples dispos sur vbfrance ou sur ce site de référence en ConnectionString : [ Lien ]

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
dimanche 5 août 2012 à 00:39:48 | Re : Quel choix de base de données ?

jack

Administrateur CodeS-SourceS
ou, à la place de
Code Visual Basic :
Debug.Print .Fields(0).Value
tu peux aussi utiliser cette syntaxe :
Code Visual Basic :
Debug.Print .Fields("LeNomDuChamp").Value

dimanche 5 août 2012 à 10:59:55 | Re : Quel choix de base de données ?

titicar


Merci pour tout

titicar
dimanche 5 août 2012 à 22:54:55 | Re : Quel choix de base de données ?

titicar

Au fur et à mesure de mes lectures quant à ADO, et en voyant la 'précision' (ou la complexité) de paramètres du genre:
Code Visual Basic :
myRecordSet.ActiveConnection = myADODB
myRecordSet.CursorLocation = adUseClient
myRecordSet.Open , , adOpenStatic, adLockBatchOptimistic, ...

, et j'en passe...
je me dis qu'ADO est une rolls pour mon appli : je n'ai pas besoin de tout ça quand même.
Et puis ce luxe a aussi un prix : au moins 6 nouvelle DLL et autres à installer dans l'empaquetage, sachant que j&#8217;essaie d'éliminer (au maximum... ou presque) ces genres de fichiers qui rendent hélas mon programme encore un peu plus dépendant.

En fait, j'ai un souvenir trop vague hélas, d'API simples (sans DLL ou autres) exploitant une DB (peut-être une DB allégée, mais pas du INI, XML ou autre genre évidemment).
J'avais lu cette source sur vbfrance il y a trop longtemps (entre 2004 et 2009... pour dire que c'est flou), sans pour autant avoir sauvegarder le code ou le tester. Et impossible de remettre la main dessus. Dommage

titicar
lundi 6 août 2012 à 12:08:48 | Re : Quel choix de base de données ?

jack

Administrateur CodeS-SourceS
6 DLLs ?
Non, une seule et en plus, elle existe déjà sur XP et W7.
Les fichiers TLB n'ont pas besoin de faire partie du paquetage : il ne s'agit que d'un annuaire permettant de programmer (pour que les objets soient reconnus par l'interface de programmation=IDE quand tu commences à taper leurs noms, méthodes ou propriétés) et de s'adresser à la DLL.

myRecordSet.ActiveConnection = myADODB
est accessoire.
Le nom de l'objet de connexion peut simplement être inséré dans le 2ème paramètre de la commande .Open du RecordSet.
Côté constantes de la commande .Open du RecordSet, il faut bien les choisir car le comportement du RecordSet en dépend.
Si tu ne fais pas de Transaction, utilises adLockOptimistic ou adLockReadOnly pour le dernier paramètre.

Je t'assure que l'utilisation de ADODB n'est pas compliquée, juste les paramètres à répéter après chaque instanciation d'un RecordSet, comme dans l'exemple de base que je t'ai fourni.
lundi 6 août 2012 à 12:18:37 | Re : Quel choix de base de données ?

jack

Administrateur CodeS-SourceS
PS : "elle existe déjà sur XP"
A vérifier, mais si ton XP est à jour, cela devrait être Ok.
La dernière version de ADO est la 2.8, mais les précédentes versions marchent aussi bien.

1 2

Cette discussion est classée dans : base, données, choix, trop, win


Répondre à ce message

Sujets en rapport avec ce message

TROP de données pour une base de données ACCEES ?? [ par tizana ] Salut Tout le monde. Je sais que c'est une question un peu débile que je vais poser, mais je suis NEWBIE. J'utilise un programme réalisé avec VB pour base de données embarquée [ par syllabozoo ] Bonjour à tous, je programme avec vbexpress 2010 sur win 7 64 bits une application censée tourner sur les ordis de mon collège (win xp je crois) j'ai Quelle base de données [ par drareg ] Bonjour,Je suis en train de switcher de soft de developpement et je suis en train d'essayer VB depuis quelque jours.Tout semble tres satisfaisant horm Base de données et combobox [ par tchoo83 ] Bonjour voila mon problème :J'ai une base de données Access 2000 et j'ai une table avec un champ numerique qui renvoie à une autre table, avec ce meme ODBC Wind XP et Win 2003 [ par anspauldou ] Salut J'ai un base de données en SQL 2000 sur OS Win 2000 server. Je viens de copier ma base de données sur Win 2003. Mon logiciel est fait sur Acce choix de la base de données [ par rafikbelhadjtaher ] bon jour a tous selon quel critère je peux choisir la base de données (access ou sql) sur laquelle je vais travailler? est ce selon le flux de données choix de base de données [ par bastos77 ] Bonjour,je veux créer une fenetre sous vb6 dans lequel je peux choisir entre differente base de données situe dans un repertoire.merci davance Mettre en ligne une base de données access 2010 [ par danytall ] Bonjour à tous. Je suis nouvellement inscris sur ce forum il y a 5 minutes. En effet, je suis en train de construire une base de données sous access affichage d'un message dans un textbox selon la valeur d'un champs dans la base des données [ par khoubaibnasri ] bon jour tous le monde, je suis en train de développer un site web asp.net connecter sur un BD oracle dans le cadre de mon projet fin d'étude: j'ai Affichage d'un message dans un textbox selon la valeur d'un champs dans la base des données [ par khoubaibnasri ] bon jour tous le monde, je suis en train de développer un site web asp.net connecter sur un BD oracle dans le cadre de mon projet fin d'étude: j'ai


Nos sponsors


Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,134 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales