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 vers une BD oracle


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 22
    Par défaut Connexion vers une BD oracle
    Bonjour!

    J'essaie de faire une requête de mise-à-jour dans une BD Oracle avec une macro Excel VBA, mais à chaque fois ça me demande le mot de passe. Pour contrer ce problème, j'ai essayer de faire ce qui suit :
    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
     
        Dim objConn As DAO.Database
        Dim objRS As DAO.Recordset
     
        Dim ConnectStr As String
        ConnectStr = "Driver={Microsoft ODBC for Oracle};& Source=maBD.WORLD;& UID=information;& Password=information"
     
        Set objConn = OpenDatabase(ConnectStr)
     
        Set wbkClasseur = Workbooks.Add
     
    [traitement...]
     
        Set objRS = Nothing
        objConn.Close
        Set objConn = Nothing
    mais ça me donne un message d'erreur que le fichier Driver={Microsoft ODBC for Oracle};& Source=maBD.WORLD;& UID=information;& Password=information est introuvable...

    Quel est alors le meilleur moyen de procéder pour accéder à ma BD sans avoir à entrer le mot de passe à chaque fois?

    Merci!!

    aldapal

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    as tu essayé de créer la connexion ODBC lanuellement et d'utiliser cette connexion dans Excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ConnectStr ="DSN=NomOdbc; UID=User; PWD=MotdePasse""

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 22
    Par défaut
    Même erreur.... "Erreur d'exécution '3024': Fichier introuvable"

    Si ça peut aider, ma BD est en Oracle 73 Ver 2.5...

  4. #4
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 22
    Par défaut
    En fait, ce que je veux exactement, c'est de faire un rafraichissement des données externes qui sont sur mon Excel via une macro VBA, sans que ça demande le mot de passe, puisque la macro s'exécutera automatiquement...

    Je veux donc pouvoir me connecter à la BD en y forçant le user/mdp et ensuite faire un Selection.QueryTable.Refresh BackgroundQuery:=False.

    Mais pour l'instant, ça demande toujours un mot de passe...

    Merci d'avance!!

  5. #5
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 4
    Par défaut Solution pour SQL Server
    Voilà ce que je fais avec SQL Server

    je charge en VB, la string de connexion avant de rafraichir l'onglet, les données de connexion sont dans une feuille du classeur qui peut être protégée si nécessaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    'Preparation de la string de connection "connect"
    server = Range("Base").Cells(2, 2)
    base = Range("Base").Cells(3, 2)
    login = Range("Base").Cells(4, 2)
    password = Range("Base").Cells(5, 2)
    connect = "ODBC;DRIVER=SQL Server;SERVER=" & server & _
    ";UID=" & login & _
    ";PWD=" & password & _
    ";APP=Microsoft® Query;;DATABASE=" & base
    Worksheets("Brut").QueryTables(1).Connection = connect
     
    ' Refresh
    Selection.QueryTable.Refresh BackgroundQuery:=False

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

Discussions similaires

  1. Transferdatabase et lien vers une table Oracle
    Par meandreux dans le forum Access
    Réponses: 1
    Dernier message: 13/07/2007, 09h37
  2. connexion sur une BD oracle 10g à partir de Java
    Par dr.dramane dans le forum JDBC
    Réponses: 6
    Dernier message: 24/03/2007, 16h41
  3. [9i] Importer des données Excel dans une table
    Par oasma dans le forum SQL
    Réponses: 6
    Dernier message: 19/03/2007, 07h39
  4. lien odbc vers une base oracle
    Par fatati dans le forum Oracle
    Réponses: 1
    Dernier message: 12/01/2007, 10h49
  5. [Réseau] connexion vers une machine derriere un routeur
    Par fantomasmusic dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 18/10/2005, 13h54

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