Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 VBA Se connecter à une base de donnée via un tunnel SSH

Astragor

XLDnaute Nouveau
Bonjour, je viens vers vous aujourd'hui car je suis un pue paumé et j'ai beau chercher je ne trouve pas de solution viable, ni de doc.
Actuellement j'ai une macro commande qui fait des requetes sur une base de donnée Postgre... Jusque là aucun soucis particulier. J'arrive à faire ce que je veux.
Le soucis c'est que cette base de donnée va être migrée sur un serveur dont l'accés ne se fait que via un tunnel SSH.

Donc voici mon code aujourd'hui
VB:
Private Sub Requete(SQL As String, NomChamp1 As String, Nomchamp2 As String)
    Dim CONN As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    CONN.ConnectionString = "DRIVER={PostgreSQL Unicode};Port=5432;SERVER=XXX;DATABASE=XXX;Uid=XXX;Pwd=xxx"
    CONN.Open
    Set rs = CONN.Execute(SQL)
    While Not (rs.EOF)
        rs.MoveNext
    Wend
    rs.Close
    CONN.Close
End Sub

Donc que rajouter à ce code pour pouvoir passer le tunnel SSH (l'authentification se faisant via une paire de clé).

Merci de votre aide
 

Astragor

XLDnaute Nouveau
Hello @Staple1600
Merci pour ta réponse, je suis déjà tombé sur cette page mais ca ne semble pas correspondre à ce que je cherche.
Je souhaite vraiment accéder à ma base de donnée qui se trouve derrière le tunnel qui de plus est protégé par une paire de clé.
Ici point d'accès à la moindre bdd mais juste un transfert de fichier....
Peut être que je ne comprends pas tout, mais ca ne semble pas correspondre à mes besoins.
 

Astragor

XLDnaute Nouveau
Effectivement tu ne pouvais pas le savoir, lol... Ah par contre cette piste si semble plus interessante, en tout cas en survolant l'article sa semble être plus parlant, je vais régarder ca en détail et creuser cette piste.
Merci à toi
 

Astragor

XLDnaute Nouveau
Hello, bien merci @Staple1600 c'est bon j'ai réussi à rentrer dans le tunnel et a en sortir donc la doc est bonne.
En fait pour mon cas je n'ai pas besoin de la deuxième partie du tuto... Il suffit juste que je mette localhost dans ma chaine de connexion et le tour est joué.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil,

Bonjour Astragor,
Hi l'ami @Staple1600

Puisque vous avez 365 la deuxième part du gâteau vous semblera peut-être plus facile à manger.

Cordialement.
Bonjour Roblochon
Voilà un bel exemple de synergie XLDienne à l'ancienne
(C'était pas trop fatiguant, il n'y avait que deux parties)

En relisant, ce fil, et donc le mot Tunnel, me prend une irrépressible envie d'écouter Mark K. qui lui aussi jadis chantait les Tunnels

=>Astragor
Si cela fonctionne, bah publie pour le bénéfice de la communauté XLDienne, ton code VBA (expurgé des infos confidentielles qu'il pourrait contenir.)

PS: Cette façon de faire, c'est ce que jadis, les Anciens de la Cellule Sacrée, nommaient :" L'esprit XLDien"
 

Staple1600

XLDnaute Barbatruc
Re

[aparté des temps anciens]
Je parlais de l'XLD du temps de VBulletin
Pas de l'âge de vos artères, monsieur Roblochon
Maintenant que j'ai écrit, artère, j'ai une envie irrépressible de
...https://www.youtube.com/watch?v=mluu9VIGifQ

[/aparté]
 

Astragor

XLDnaute Nouveau
@Staple1600
Pas grand chose à publier j'ai suivi le tuto... Et ca marche tout seul
Il suffit d'ouvrir le tunnel sous PuTTY comme indiqué.
Il faut ensuite laisser la session ouverte du temps des manips.

Et dans la macro excel, remplacer l'adresse du serveur par localhost, comme si dessous et ca marche tout seul
Code:
CONN.ConnectionString = "DRIVER={PostgreSQL Unicode};Port=5432;SERVER=localhost;DATABASE=XXX;Uid=XXX;Pwd=xxx"

(Les infos confidentielles étant remplacée par xxx)
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…