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 :

problème de connection à SQL server 2000 depuis Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut problème de connection à SQL server 2000 depuis Excel
    Bonjour!

    J'ai une petite fonction qui me permet de mettre le résultat d'une requete dans une feuille. La requete est éxécuté sur un serveur SQL Server 2000.

    La voici :

    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
    Sub DefinirRequete(P_Sheet As String, P_Query As String, P_Cel As String)
    'on défini dans la cellule "P_Cel" de la feuille "P_Sheet" la requete "P_Query"
    ' "Server" et "Base" sont des constantes globales
     
        Sheets(P_Sheet).Select
        Cells.Clear
        With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
            "ODBC;DRIVER=SQL Server;SERVER=" & Server & ";UID=MonLogin;PWD=MonMotDePasse;APP=Microsoft Office 2003;WSID=" & Server & ";DATABASE=" & Base & ";Trusted_" _
            ), Array("Connection=Yes")), Destination:=Range(P_Cel))
            .CommandText = Array(P_Query)
            .Name = "Requete " & P_Sheet
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
            .Refresh BackgroundQuery:=False 'L'erreur est ici : "Echec de l'autorisation" ... o_O?
        End With        
    End Sub
    J'ai cependant une erreur sur l'instruction refresh : "Echec de l'autorisation". J'en déduis donc que l'erreur viens d'un problème de droits. J'ai cependant vérifié mon Login et mon Mdp ils sont bon!

    Je ne vois vraiment pas où est l'erreur, peut-être à part si ma chaine de connection contient une erreur. Peut-être un mauvais paramétrage de ma base SQL server. Quelqu'un aurait une idée?

    En tout cas merci d'avance

  2. #2
    Membre actif Avatar de tribaleur
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 401
    Points : 237
    Points
    237
    Par défaut
    Héhé bin ma fois j'ai trouvé la solution en fait.

    Le problème viens du fait que je disais de ce connecter avec les droits de l'authentification windows. Cependant il faut que le fichier s'ouvre avec un certain compte.

    Pour cela il faut juste modifier pour dire que la propriété "Trusted_Connection = No"

    Voici donc le nouveau code (identique à celui d'avant avec juste un "yes" changé en "No" :
    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
    With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
            "ODBC;DRIVER=SQL Server;SERVER=" & Server & ";UID=sa;PWD=secsncadm;APP=Microsoft Office 2003;WSID=" & Server & ";DATABASE=" & Base & ";Trusted_" _
            ), Array("Connection=No")), Destination:=Range(P_Cel))
            .CommandText = Array(P_Query)
            .Name = "Requete " & P_Sheet
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
            .Refresh BackgroundQuery:=False
        End With
    Merci quand même à tous en espérant avoir aidé quelqu'un ...

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

Discussions similaires

  1. connection sql server 2000 sous delphi 6.0
    Par nkouo dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/08/2007, 15h15
  2. problème de connectivité à sql server 2000
    Par enimiste dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/01/2007, 19h50
  3. Problème connexion Cube SQL SERVER 2005 avec EXCEL
    Par nnasser dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 22/09/2006, 15h23
  4. Problème avec Microsoft SQl Server 2000
    Par jyms2006 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 01/03/2006, 10h29
  5. Problème de connection à SQL Server
    Par wsangli dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 12/08/2005, 17h19

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