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

Macros et VBA Excel Discussion :

Connexion bdd MS SQL 2008 en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Avril 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2010
    Messages : 42
    Par défaut Connexion bdd MS SQL 2008 en VBA
    Bonjour,

    Je fais actuellement quelques recherches préliminaire pour créer une application utilisant une base SQL Server 2008.

    J'utilise le code suivant (VBA Excel 2010) pour établir une connection avec une base de données nommée "Creaff".

    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
     
    Public Function InitConnection(NomServeur As String, NomBaseDeDonnées As String) As Boolean
      Dim ADOCnx As ADODB.Connection
      Set ADOCnx = New ADODB.Connection
     
      Dim query As String
      'Dim cnxString As String
      Dim RequeteOk As Boolean
      'Dim mRst As New ADODB.Recordset
     
      InitConnection = False
      'Initialisation de la chaine de connexion
      ADOCnx.ConnectionString = "DRIVER={SQL Server};Server=" & NomServeur & ";Database=" & NomBaseDeDonnées & ";"
     
     
      'Vérifie que la connexion est bien fermée
      If ADOCnx.State = adStateOpen Then
        ADOCnx.Close
      End If
      On Error GoTo BadConnection
      'Connexion à la base de données
      ADOCnx.Open
      'Attente que la connexion soit établie
      While (ADOCnx.State = adStateConnecting)
        DoEvents
       Wend
      'Vérification des erreurs dans le cas d'une mauvaise connexion
      If ADOCnx.Errors.Count > 0 Then
        'Affichage des erreurs
        MsgBox "1  " & ADOCnx.Errors.Item(0)
        InitConnection = False
        Exit Function
      Else
        InitConnection = True
       End If
       Exit Function
     
    BadConnection:
    If ADOCnx.Errors.Count > 0 Then
        'Affichage des erreurs
        MsgBox "2 " & ADOCnx.Errors.Item(0)
        InitConnection = False
        Exit Function
    Else
        MsgBox "3  " & Err.Description
    End If
    End Function
    J'obtiens le message d'erreur :

    [Microsoft]ODBC SQL Server Driver][SQL Server]Le contexte de la base de données a changé; il est maintenant 'Creaf'.
    Si quelqu'un peut m'indiquer les causes possibles de cette erreur, je suis preneur car je tourne en rond

    d'avance Merci

  2. #2
    Membre averti
    Homme Profil pro
    Gestionnaire de parc micro-informatique
    Inscrit en
    Avril 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Gestionnaire de parc micro-informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2010
    Messages : 42
    Par défaut
    J'ai poussé plus loin mes recherches.

    Voici une chaine de connexion qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        ADOCnx.ConnectionString = "Provider=SQLOLEDB.1;Data Source=" & NomServeur & ";Initial Catalog=" & NomBaseDeDonnées & "; Trusted_Connection=yes;"
    Nota : permet de se connecter à un serveur SQL "NomServeur" pour utiliser la base "NomBaseDeDonnées" dans le cas d'une authentification Windows

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connexion BDD postgre sql en c++
    Par jbpaulin dans le forum Langage
    Réponses: 3
    Dernier message: 28/03/2012, 12h19
  2. Connexion BDD C#/Sql Server
    Par Suefou dans le forum ASP.NET
    Réponses: 5
    Dernier message: 30/01/2011, 01h52
  3. Réponses: 4
    Dernier message: 06/03/2008, 13h08
  4. connexion bdd sql serveur locale
    Par eric8787 dans le forum VB.NET
    Réponses: 2
    Dernier message: 03/12/2007, 20h21
  5. [Connexion BDD Requete SQL] Probleme d'execution
    Par GarsDuCalvados dans le forum VB.NET
    Réponses: 4
    Dernier message: 25/07/2007, 08h22

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