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

Projets ADP Discussion :

connexion ODBC vba-postgres, erreur d'exécution '-2147467259 (800040005)'


Sujet :

Projets ADP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Décembre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2016
    Messages : 18
    Points : 17
    Points
    17
    Par défaut connexion ODBC vba-postgres, erreur d'exécution '-2147467259 (800040005)'
    Bonjour,

    J'ai mis en serveur une base de données postgres et un front end access.
    La connexion entre les 2 se passe plutôt bien, mais j'ai un problème avec la connexion paramétrée pour les procédures en vba.

    Les procédures marchent très bien sur mon PC, mais elles en fonctionnent pas sur les PC de mes collègues. Voici le message d'erreur qu'ils ont sur leur PC :
    Nom : erreur connexion postgres.png
Affichages : 913
Taille : 16,9 Ko

    Voici la ligne surlignée par le débogage :
    connection_postgres.Open connection_postgres_str

    Les différentes machines ont le même driver d'installé.

    Voici des exemples de connexion que j'ai essayé :

    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
     
    'MARCHE SUR MON ORDINATEUR MAIS PAS SUR LES AUTRES :
    'Public Const connection_postgres_str As String = _
        "DSN=PostgresCEM;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DSN=PostgresCEM;" & _
        "DRIVER={PSQLODBC.DLL};" & _
        "Server=10.27.180.7;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DSN=PostgresCEM;DATABASE=CEM;SERVER=10.27.180.7;PORT=5432;UID=user_name;PWD=pwd;CA=d;A6=;A7=100;B0=255;B1=8190;BI=0;C2=dd_;CX=1c2a1008b;A1=7.4-2"
    'Public Const connection_postgres_str As String = _
        "DSN=PostgresCEM;" & _
        "UID=user_name;" & _
        "DRIVER={PostgreSQL ANSI};" & _
        "PWD=pwd;" & _
        "Server=10.27.180.7;" & _
        "Database=CEM"
     
     
    'NE MARCHE NI SUR LE MIEN, NI SUR LES AUTRES :
    'Public Const connection_postgres_str As String = _
        "DRIVER={PostgreSQL ANSI};" & _
        "DSN=PostgresCEM;" & _
        "Server=10.27.180.7;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DRIVER={PostgreSQL ANSI};" & _
        "Server=10.27.180.7;" & _
        "PWD=pwd;" & _
        "UID=user_name;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DRIVER={PSQLODBC.DLL};" & _
        "Server=10.27.180.7;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DRIVER={PSQLODBC35W.DLL};" & _
        "Server=10.27.180.7;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DRIVER=PSQLODBC35W.DLL;" & _
        "Server=10.27.180.7;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DRIVER={PSQLODBC35W.DLL};" & _
        "Server=10.27.180.7;" & _
        "DSN=PostgresCEM;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DRIVER={PSQLODBC30A.DLL};" & _
        "Server=10.27.180.7;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DRIVER=PSQLODBC30A.DLL;" & _
        "Server=10.27.180.7;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DRIVER={PSQLODBC30A.DLL};" & _
        "Server=10.27.180.7;" & _
        "DSN=PostgresCEM;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "DRIVER={PostgreSQL ANSI};" & _
        "Server=10.27.180.7;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DRIVER={PostgreSQL Unicode};" & _
        "Server=10.27.180.7;" & _
        "DSN=PostgresCEM;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
    'Public Const connection_postgres_str As String = _
        "DRIVER={PostgreSQL Unicode};" & _
        "Server=10.27.180.7;" & _
        "UID=user_name;" & _
        "PWD=pwd;" & _
        "Database=CEM"
     
     
    Sub test()
     
    Dim connection_postgres As ADODB.Connection
    Set connection_postgres = New ADODB.Connection
     
    connection_postgres.Open connection_postgres_str
     
    connection_postgres.Close
    Set connection_postgres = Nothing
    Stop
     
    End Sub
    C'est surtout le point que ça marche sur mon PC et pas sur les autres qui me tracasse, je n'arrive pas à comprendre pourquoi. Avez-vous des idées ? Mes recherches ont été vaines...

    Merci d'avance,

    Patrick

  2. #2
    Membre à l'essai
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Décembre 2016
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2016
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Après avoir creuser, j'ai pu résoudre mon problème. Peut-être qu'il pourra en aider certains d'entre vous.
    Il venait du fait que le dsn était mal paramétré.

    Sur ma version d'access, les tables pointaient sur un fichier dsn ;
    et la connexion ODBC dans les modules vba pointait vers un dsn enregistré sur ma machine.
    Ce dernier dsn ne fonctionnait donc pas sur les autres machines.

    Pour résoudre ce problème, je fais pointer ma connexion ODBC vba non plus vers un dsn mais vers un fichier dsn.
    (Créé via l'administrateur ODBC et enregistré sur le réseau où tout le monde y a accès).

    J'ai aussi eu un problème de compatibilité qui a été résolu en ré-installant chez tout le monde le pilote en 32bit et le dsn via l'administrateur ODBC 32bit.
    Sur cette partie j'ai été un peu noyé, entre les versions d'access, de Windows et des bibliothèques vba des différents utilisateurs, les problèmes de compatibilité ont fini par s'envoler. Je ne sais pas trop quelle est l'action qui finalement eu raison de ce problème.


    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
     
     
    Public Const connection_postgres_str As String = _
        "FILEDSN=\\chemin complet\...\BDDCem.dsn;" & _
        "UID=nom_user;" & _
        "PWD=motdepasse;" & _
        "Database=bdd"
     
    Sub test()
     
    Dim connection_postgres As ADODB.Connection
    Set connection_postgres = New ADODB.Connection
     
    connection_postgres.Open connection_postgres_str
     
    Stop
     
    connection_postgres.Close
    Set connection_postgres = Nothing
     
    End Sub

    Bonne soirée,

    Patrick

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

Discussions similaires

  1. [VBA][export] Erreur d'exécution '1004'
    Par le_niak dans le forum VBA Access
    Réponses: 1
    Dernier message: 29/07/2008, 20h33
  2. Réponses: 1
    Dernier message: 30/05/2007, 10h41
  3. [VBA-E] Erreur d'exécution '1004'
    Par bibi5883 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/03/2007, 14h31
  4. [VB6] E_Fail erreur d'exécution "-2147467259"
    Par gagpie dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 30/05/2006, 13h47
  5. [VBA-E] erreur d'exécution 1004 ?
    Par toy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/05/2006, 13h15

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