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

VB 6 et antérieur Discussion :

[VB6]Créer un ODBC SQL server


Sujet :

VB 6 et antérieur

  1. #1
    Invité
    Invité(e)
    Par défaut [VB6]Créer un ODBC SQL server
    Bonjour à tous,

    Je souhaiterais créer un ODBC SQL server (system DSN) mais je ne sais pas comment faire, car pour l'authentification je dois passer par une authentification SQL server.

    sur le site de mùicrosoft, il y a ce code :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    Private Sub Command1_Click()
     
       Dim DataSourceName As String
       Dim DatabaseName As String
       Dim Description As String
       Dim DriverPath As String
       Dim DriverName As String
       Dim LastUser As String
       Dim Regional As String
       Dim Server As String
     
       Dim lResult As Long
       Dim hKeyHandle As Long
     
       'Specify the DSN parameters.
     
       DataSourceName = "<the name of your new DSN>"
       DatabaseName = "<name of the database to be accessed by the new DSN>"
       Description = "<a description of the new DSN>"
       DriverPath = "<path to your SQL Server driver>"
       LastUser = "<default user ID of the new DSN>"
       Server = "<name of the server to be accessed by the new DSN>"
       DriverName = "SQL Server"
     
       'Create the new DSN key.
     
       lResult = RegCreateKey(HKEY_LOCAL_MACHINE, "SOFTWARE\ODBC\ODBC.INI\" & _
            DataSourceName, hKeyHandle)
     
       'Set the values of the new DSN key.
     
       lResult = RegSetValueEx(hKeyHandle, "Database", 0&, REG_SZ, _
          ByVal DatabaseName, Len(DatabaseName))
       lResult = RegSetValueEx(hKeyHandle, "Description", 0&, REG_SZ, _
          ByVal Description, Len(Description))
       lResult = RegSetValueEx(hKeyHandle, "Driver", 0&, REG_SZ, _
          ByVal DriverPath, Len(DriverPath))
       lResult = RegSetValueEx(hKeyHandle, "LastUser", 0&, REG_SZ, _
          ByVal LastUser, Len(LastUser))
       lResult = RegSetValueEx(hKeyHandle, "Server", 0&, REG_SZ, _
          ByVal Server, Len(Server))
     
       'Close the new DSN key.
     
       lResult = RegCloseKey(hKeyHandle)
     
       'Open ODBC Data Sources key to list the new DSN in the ODBC Manager.
       'Specify the new value.
       'Close the key.
     
       lResult = RegCreateKey(HKEY_LOCAL_MACHINE, _
          "SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources", hKeyHandle)
       lResult = RegSetValueEx(hKeyHandle, DataSourceName, 0&, REG_SZ, _
          ByVal DriverName, Len(DriverName))
       lResult = RegCloseKey(hKeyHandle)
     
       End Sub
    http://support.microsoft.com/kb/184608/fr

    Mais je ne vois pas où l'on passe en paramètre le login + mot de passe SQL server

    Avez-vous une solution ?

    D'avance merci pour votre aide

  2. #2
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Bonjour,


    Estce que ceci t'aide ??

    Cordialement

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Ton code sert a enregistrer ton DSN dans la base de registre. Tu dois ensuite y faire référence dans ta connexion dans VB6.

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Set conx = New ADODB.Connection
        '
        conx.ConnectionString = "DSN=MonDSN;"
        ' correspondant à  DataSourceName = "<the name of your new DSN>"
    Fais une petite recherche tu trouveras ce dont tu as besoin

  4. #4
    Invité
    Invité(e)
    Par défaut
    En faite j'ai crée un setup de mon application, qui utilise un OBDC. Mais les caractéristiques de cet ODBC sont dans un fichier .ini
    Dans mon setup je souhaiterais donc lancer mon application creationODBC.exe afin qu'il me crée automatiquement cet ODBC.
    Je n'ai pas besoin de lire dans le fichier .ini, juste besoin de créer l'ODBC dans le DATA Sources (OBDC) de windows.
    C'est pour faciliter l'installation de mon logiciel, et ainsi éviter les erreurs.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Mmmm, donc ? tu as besoin de ton fichier .ini ou pas ? je ne te suis pas.

    Soit tu utilises un fichier .ini et tu détailles ta chaîne de connexion, soit tu utilises un DSN... que tu crées à partir d'un fichier .ini (?)...

    Bon c'est pas clair, ré-explique clairement qui fait quoi.

  6. #6
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Mouarf je crois que cela dépasse mes capacités (en même temps c'est pas dur...)

    Ou alors...
    Bon c'est pas clair, ré-explique clairement qui fait quoi.
    Peut être que ca ne vient pas de moi

    Bonne continuation tout de même et bonne chance

    Cordialement

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Citation Envoyé par La Praline
    Peut être que ca ne vient pas de moi
    ça vient comme souvent d'un énoncé confus, indiquant une maîtrise approximative du sujet, cela dit sans aucune ironie, ni méchanceté. Pour preuve, je me propose de débroussailler tout ça.

  8. #8
    Invité
    Invité(e)
    Par défaut
    En faite, dans mon fichier .ini j'ai cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [ODBC]
    UID=login	
    PWD=mdp
    DSN=NomduDSN
     
    [Database]
    Database=BD
    SERVER=Server01
    Connection=Provider=SQLOLEDB.1;Password=mdp;Persist Security Info=True;User ID=login;Initial Catalog=Cat;Data Source=Server01
    Mon application reprend donc ces paramètres.

    En revanche, pour l'application marche, je dois créer manuellement un ODBC dans windows, avec les paramètres login/mdp/NomduDSN exprimé sous [ODBC].

    Je souterais juste remplir cette fenetre, mais automatiquement.



    Où name serait "nomduDSN" et server "Server01".

    EN espérant avoir été un peu plus claire

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Phifi
    ça vient comme souvent d'un énoncé confus, indiquant une maîtrise approximative du sujet, cela dit sans aucune ironie, ni méchanceté. Pour preuve, je me propose de débroussailler tout ça.
    C'est un projet que j'ai repris, et oui effectivement je ne le maitrise pas totalement, mais ca vient tout doucement
    Comprendre un système qui n'est pas le sien prend du temps, un peu d'indulgence tout de meme

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Citation Envoyé par cherrymoon08
    un peu d'indulgence tout de meme
    Pas de problème, tant que c'est amené comme ça

    Ton premier code sert à enregistrer les infos DSN que tu as dans ton fichier .ini

    Donc :

    1 - Lire le fichier .ini pour récupérer les infos de connexion à ta base
    2 - lancer ton code de création du DSN dans la base de registre avec les infos récupérées
    3 - dans ton projet, faire référence à ton DSN comme je te l'ai noté

    Essaye de coder tout ça dans l'ordre et dis-nous si ça coince

  11. #11
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Citation Envoyé par Phifi
    Pas de problème, tant que c'est amené comme ça
    En effet personne ne te reprochera de ne pas savoir tel ou tel chose. Surtout si tu explique ton problème sans nous commander un code ni nous suplier de t'aider...

    Enfin bref, on est pas méchant et on aime donner des coups de mains (même des coups de pieds pour certains )


    Citation Envoyé par Phifi
    Essaye de coder tout ça dans l'ordre et dis-nous si ça coince
    J'aurais été moins optimiste en marquant " ca coince"

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Phifi
    2 - lancer ton code de création du DSN dans la base de registre avec les infos récupérées
    Justement, c'est la mon problème. Lors de la création manuele d'un ODBC SQL server, je rentre un login et mot de passe pour une authentification SQL Server. (Ceux que j'ai dans mon fichier .ini).
    En revanche, dans le code trouvé sur microsoft, je ne vois pas où rentrer ce login + mot de passe.
    Dois-je le créer sans rentrer login + mot de passe ?

  13. #13
    Membre confirmé Avatar de La Praline
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 568
    Points
    568
    Par défaut
    Bonjour,

    Tu es sûr que ta réponse ne se trouve pas dans ce lien...

    C'est dans ta chaine de connexion que tu entre le login et le mot de passe...
    Enfin je crois !

    Cordialement

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Mmm oui, ,je vois ce que tu veux dire, je n'avais pâs épluché le code MS, il ne permet pas l'enregistrement du mot de passe, ce qui paraît normal. Cela dit, il me semble que c'est possible, même s'il se retrouve en clair dans la base de registre. J'ai déjà vu un exemple dans les sources développez il y a quelques temps.

    Par contre, l'utilisateur se trouve ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     LastUser = "<default user ID of the new DSN>"
    EDIT :

    J'ai fouiné un peu dans ma base de registre, et j'ai retrouvé les clés correspondantes à l'utilisateur et au mot de passe du DSN (mais attention, mot de passe en clair !) :

    Utilisateur : UID
    Mot de passe : PWD

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    D'ailleurs je n'aurais pas du éditer, histoire de faire remonter le post, donc voir post ci-dessus

Discussions similaires

  1. Créer connexion ODBC sql server 2005
    Par noname_971 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/12/2007, 12h38
  2. [Microsoft][ODBC SQL Server] 6 + ASP
    Par Opo dans le forum ASP
    Réponses: 2
    Dernier message: 21/11/2006, 08h45
  3. Lien ODBC SQL Server
    Par Praline dans le forum Oracle
    Réponses: 1
    Dernier message: 20/10/2006, 14h04
  4. Creation de ODBC sql Server
    Par lessoy dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 26/05/2006, 15h11
  5. ODBC SQL Server VC++
    Par afan dans le forum MFC
    Réponses: 10
    Dernier message: 19/03/2004, 10h06

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