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

MS SQL Server Discussion :

[MSDE & VB6]_[initié]_Compatibilité ?


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut [MSDE & VB6]_Compatibilité & Connexion réseau local
    Bonjour,
    Je suis actuellement en stage et je dois faire passer une appli VB6 mono-utilisateur avec une base Access en Mutli-Utilisateur. Pour éviter les problémes qu'engendre Access quand on passe en Mutli-Utilisateur, je me suis intérresé au différentes SGBD existante (cf. http://fadace.developpez.com/sgbdcmp/), et MSDE me parait être pas mal.

    Question :
    - est il possible d'utiliser MSDE de la même maniére qu'access pour une application bureautique ? à savoir : un fichier de BDD avec un ODBC.
    - Si oui, quel est l'ODBC et comment se comporte t il lorsque on déploit l'application ? a t on besoin de mettre à jour le système en ammont ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 220
    Points : 19 549
    Points
    19 549
    Billets dans le blog
    25
    Par défaut
    MSDE ne me semble pas avoir un grand avenir. Préférez plutôt MS-SQL 2005 Express.

    Pour le portage, cela dépend de ce que vous faites avec MS-Access.

    Dans un premier temps, remplacez les tables Access par des tables attachées MS_SQL.

    L'ODBC, que ce soit pour MSDE, MS-SQL ou MS-SQL Express, est le même.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    pour mon cas l'interet de migrer ma base sur MSDE permet de régler le sujet tabou d'access : le mutli utilisateur, tout en passant que j'ai la contrainte de développer sous vb6 (je n'ai pas regardais de prés mais MS SQL 2005 doit faire partis des dernier produit utilisant le .NET ce qui me pauserais pas mal de pb pour le déploiment de mon appli)
    Quand à l'avenir de MSDE c'est vrai que vu qu'il ne se passe pas grand chose autour de lui on se dit que ses jours sont compté mais dans le cas d'une application, qui plus est bureautique, avec peu d'utilisateur c'est une bonne solution.

    pour plus d'info sur MSDE :
    http://www.developpez.net/forums/sho...50#post1007250

    C'est vrai que Sql 2005 express est trés tentant, mais si vous avez des infos pour le devellopement d'application sous vb6 avec lui et bien je suis preuneur

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Points : 1 041
    Points
    1 041
    Par défaut
    Bonjour
    J'ai fait la migration d'une base de donnée ACCESS d'environ 400 tables autant de requètes et de formulaires. J'ai utilisé pour cela SQL Express qui ne pose pas plus de problème que MSDE et comporte un outil de management aussi efficasse et simple qu'access pour la création de de table et de requètes. Pourtant il ne faut pas croire que tout se fera simplement surtout si avec VB6 vous utiliser DAO et non ADO car il vous faudra d'abord faire le basculement de DAO et ADO cela peux prendre un certain temps.
    ensuite si vos requètes utilisent des fonctions elles ne pourront etre insérer il faudra donc les recréer sans fonctions basic. divers modifs sont à considérer
    par contre l'efficacité en client serveur et réel.
    Pourtant je pense qu'il faut se poser la question du niveau de compétance des utilisateur car vous utiliserer une base de donnée plus complexe à gérer qu'ACCESS surtout pour les sauvegardes et backup.
    Maintenant dans mon cas je neregrette pas le temps passé à faire cette migration.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    salut,
    C'est presque une insulte pour SQL mais pour mon appli je ne m'occupe pas des droits des utilisateurs (ce qui simplifit d'ailleur pas mal la chose), l'appli gére sa toute seule.
    Donc MSDE passe bien avec VB6 (voir les outils plus haut)

    Seul hic, ma BDD est portée par le server de MSDE; ce qui est pas terrible pour une appli destinée à une utilisation bureautique, vu que l'utilisateur lambda qui va installer mon logiciel va devoir installer un serveur :s ...

    Donc actuellement, je travail à me connecter directement sur le fichier .Mdf (tel q'on le fait avec le .mdb d'access).
    Si quelqu'un sait je suis preneur et biensur si je trouve je post ça

    -EDIT-
    donc au lieu de faire une connexion de ce type :
    "Driver={SQL Server};Server=.....;Database=.....;Uid=......;Pwd=.....;"
    je fait :
    "Driver={SQL Server};Dbq=C:\maBDD.Mdf;Database=.....;Uid=......;Pwd=.....;"

    et là, l'appli se connect c'est la fête ! Sauf que SQL serveur doit être lancé !
    ça parait normal.


    Attention : question philosophique de comptoire à 4 grammes !!!

    La raison pour laquelle Access ne gére pas le multi-utilisateur est elle que pour qu'une base de donnée y arrive, un serveur doit être mis en place ?

    si c'est le cas, il y a t il un moyen connu pour déplacer ces fonctionnalitées au niveau applicatif ??

  6. #6
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Il existe bien sûr un moyen :
    1 - L'intégration des fonctionalités du winsock
    2 -L'intégration de la journalisation
    3 -L'intégration du vérouillage

    Bref, pourquoi recréer la roux ?
    Vous perdrez plus de temps !

    Merci.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Merci pour ces pistes de recherche, même si je ne suis pas certain de tout comprendre sur ces différentes "intégrations" je vais me pencher dessus.

    Si je parviens à produire une appli de test, je mettrais alors les sources en ligne merci pour toutes ces réponses

  8. #8
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Vous sembler vraiment disposer du temps à revendre.
    J'aurais bien voulu vous sugerer que vous puissiez apprendre le T-SQL
    Bon courage et merci.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    bonjour,
    Maintenant mon projet a bien évolué et mon appli vb6 fait appel à une base SQL et utilise un seveur MSDE pour se connecter.
    Il ne me reste plus qu'à réussir à connecter mon appli en tant que client via le réseau local, ce qui me pause certains pb . ma connexion est la suivante :
    _________Mes variables globales___________________________________________________
    Public Connection As ADODB.Connection
    Public rs As ADODB.Recordset
    Public Const NomServeur As String = "PC3" 'nom réseau du serv
    Public Const NomBase As String = "test"
    Public Const IDutilisateur As String = "sa"
    Public Const PWDutilisateur As String = "monPass"
    Public bErreur As Boolean

    _______Dans un formulaire_______________________________________________________
    Private Sub cmdSelect_Click()

    Set Connection = New ADODB.Connection
    Connection.Provider = "sqloledb"

    On Error GoTo ETQ_Skip
    Connection.Open "Server=" + NomServeur + ";Database=" + NomBase + ";UID=" + IDutilisateur + ";pwd=" + PWDutilisateur + ";"

    ReqSQL = "SELECT A_nomRue FROM cms_addresse "

    Set rs = New ADODB.Recordset
    rs.Open ReqSQL, Connection, adOpenDynamic, adLockOptimistic

    Text2.Text = rs.Fields(0)

    Connection.Close
    Exit Sub

    ETQ_Skip:
    If bErreur = True Then
    Exit Sub
    Else
    bErreur = True
    MsgBox Err.Description & " -Select-"
    Err.Clear
    Exit Sub
    End If

    End Sub
    _________________________________________________________________________


    Voila, je suis en ce momment sur cette connexion et ai un message d'erreur m'indiquant :
    "[DBNETLIB][ConnectionOpen(Connect()).]Ce serveur SQL n'existe pas ou son accés est refusé. -Select-"
    soit le MsgBox de l'étiquette

    Au niveau de l'architecture c'est simple : un post sur un réseau dispose de MS SQL serveur, la/les application ou qu'elle soit, tente de se connecter a celui ci.

    là je séche pour le momment, j'ai partagé mon répertoir du serv en accés total dans le doute,
    et mon firewall et anti virus ne pause pas de pb, donc je ne vois pas ou est le pb ....


    Voila si vous avez la moindre idée merci d'avance ^^


    NB : le T-SQL est vraiment impréssionnent, j'adore la souplesse du mélange code + BDD ,j'ai beau avoir du temps mais là c'est un morceau un peu trop gros

  10. #10
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Recommandation :
    1- Il n'est pas recommander de coder en dure les paramètres de connection
    Configurez donc cet effet un pilote ODBC, a cet effet, vous devez connaître le type d'authentification configuré sur votre serveur qui, par défaut est l'authentification windows pour la MSDE.
    Vous n'aurez donc plus besoin de renseigner le User ID.

    2-Vous configurez un DSN (Data Source Name) système.
    En renseignant le Nom de la source de données (MyDataSource), le nom du Serveur et le nom de la base de données par défaut pour cette source de données.

    3-Vous pouvez utiliser la procédure ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Function blnConnection() As Boolean
        'Fixer les propriétés de la connection
        Set gcn = New ADODB.Connection
        With gcn
            .ConnectionTimeout = 100
            .ConnectionString = "DSN=MyDataSource"
        End With
        'En cas d'erreur, avertissement !
        On Error GoTo ErrHandler
        'Tantative Connection
        gcn.Open
        blnConnection = True
        Exit Function
    ErrHandler:
        MsgBox "La connection a échoué !", vbCritical, gstrAppTitle
        blnConnection = False
    End Function
    NB :
    gCN est une réference vers un Object ADDB.Connection

    Bonne Chance et A++

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  11. #11
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Bonjour,
    je vois mal ce que tu veux dire par :

    ...
    En renseignant le Nom de la source de données (MyDataSource), le nom du Serveur et le nom de la base de données par défaut pour cette source de données.
    ...



    Auriez vous un exemple de chaine type qu'il faut mettre pour MyDataSource ?
    cette notion de DSN m'échape ...
    j'ai bein trouvé ça mais bon ...
    http://support.microsoft.com/kb/171146/EN-US/

    -EDIT-
    dsl d'avoir fait le boulay
    Je viens de voir la FAQ autant pour moi, ça m'apprendra à coder pas réveillé

  12. #12
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Veuillez trouver en pièce jointe, la procédure de création d'une DSN.

    Merci.
    Fichiers attachés Fichiers attachés

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  13. #13
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    ET bien merci beaucoup !

  14. #14
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Pas de problème, nous sommes là pour vous : ccool:

    Je reste en attente des confirmations de vos testes.
    Merci de nous retourner un fee-back pour clôture du poste.

    Merci

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  15. #15
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    bien je pense que ce topic va être encore riche en informations ...
    j'ai mis mon appli de côté le temps de régler ce probléme de connexion.

    sur le post _1 :
    je lance MSDE , sa config : un UID un PWD pas d'instance
    firewall et antivirus en pause (bref la porte grande ouverte)
    j'ajoute une source de donée système (via outils admin) : un DSN est généré et la connexion se passe a merveille.

    post_2 :
    je ping post_1 : il se disent bonjours tout va bien
    je tente simplement d'ajouter une source de donnée comme précédemment ça ne marche pas !

    voir le screen de l'a manip et erreure
    http:\\apiolegore.free.fr\pourquoi.bmp

  16. #16
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Connecte-toi avec le même compte que sur le poste 1.
    Je suppose que vos deux postes et le serveur font partie d'un domaine n'est ce pas ?
    Merci

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  17. #17
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    Bonjour,
    Les posts du réseau apartiennent simplement à groupe, pas de serveur et de domaine, c'est une simple installation type LAN avec un switch.
    Donc chaques poste (XP home ed) gére lui même ses sessions.

    La chose qui m'inquiéte le plus c'est cette croix rouge qui apparait sur l'icône de MSDE quand je je veux m'y connecter à distance. Peut être es ce en lien avec ton idée de session ?

    Question annexe, sur le screen en (1), pourquoi le posts apparaissent 2 fois ?

  18. #18
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    bonjour,
    je n'utilises plus le DSN mais la bonne vielle chaine de connexion . Actuellement c'est : "Provider=sqloledb;Server=(local);Database=LaBDD;Uid=sa;Pwd=MonPWD;"

    ainsi, j'arrive à me connecter au serv mais NIQUEMENT en local (normal vous allez me dire)

    Pour me connecter via le réseau au serveur, il est donc logique de mettre à la place de (local) dans le paramétre Server, le nom de mon serv ou l'addresse IP je suppose.
    Le pb c'est que le nom du serv, je le précise nul pars lors de l'install MSDE, donc prend il automatiquement le nom de ma machine ?

    j'ai lu dans deux topic, que par défaut, MSDE s'installé avec les options réseaux désactivé. Intox ? si non, comment puis je atteindre et modifier ma configuration du serv ?

    merci d'avance

  19. #19
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Par défaut, vous avez le nom de la machine si c'est l'unique instance de ta base de donnees.
    Sinon, tu peux obtenir le non de l'instance en explorant les noms des services mssql.

    En te connectant en local sur ton serveur, tu peux obtenir le nom de ton instance avec le resultat de la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select @@SERVICENAME
    Merci.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  20. #20
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Points : 24
    Points
    24
    Par défaut
    bonjour,
    merci pour le renseignement

    à ceux qui seront ammenés à lire ce post voila 2 liens super utile
    http://perso.orange.fr/jm.doudoux/mi.../msde/msde.htm
    et
    http://www.developpez.net/forums/sho...rer+SQL+server

    encore merci
    @ bientot (mais pas trop j'espére )

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. comparaison entre version initiation et professionnelle de VB6.0
    Par sammy79 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 29/11/2007, 19h39
  2. [VB6 & MSDE]_[initié]_Compatibilité ?
    Par Driyo dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/06/2006, 19h34
  3. MSDE et VB6 ?
    Par __fabrice dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 12/09/2005, 15h50
  4. Réponses: 1
    Dernier message: 22/08/2002, 18h00

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