PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  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  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Connexion automatique en vb

Technique - odbc | Connexion automatique en vb

Par jertho le 22/08/2007 - 10:16

Bonjour,

Je suis nouveau sur le forum.
J'ai migré les tables de mon appli. Access sur Postgre.
Le seul souci que j'ai concerne la premiere connexion lorsque l'application se lance.
J'ai systématiquement un message me demandant d'indiquer l'id et le mot de passe du serveur base de données.
Je cherche Ă  automatiser cette connexion en utilisant un script en vb.
J'espére que qq'un peut me donner la solution à mon problème !!!

Merci d'avance

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Bonjour Je suppose que vou

Christophe Chauvet/ = 22 Août, 2007 - 14:32

Bonjour

Je suppose que vous utiliser de l'ODBC ?
Si oui quel version de votre driver

si c'est celui re-écrit en utilisant la libpq vous pouvez utiliser cette méthode (fichier .pgpass),
ou la méthode des variables d'environnement,

Cordialement.

Christophe Chauvet
KrysKool.org


Connexion automatique en vb

jertho/ = 22 Août, 2007 - 18:34

Bjr,
MErci de la réponse. La version de l'ODBC est 8.02.04.


Connection automatique en vb

syracine/ = 23 Août, 2007 - 16:31

Bonjour,

J'ai un peu de difficulté à cerner où est ton problème. Est-ce que ton application est écrite en vb? Si tu as déjà migré tes tables vers PostgreSQL, alors tu devrais avoir déjà établie une connection ODBC...et les explications suivantes deviennent inutiles. Cependant, j'aime mieux te les donner pour être certain que tout fonctionne.

Notes: Les explications fournies par Christophe Chauvet concerne l'utilisation des commandes (exécutables) de PostgreSQL dans un shell DOS par exemple ou pour l'ouverture d'une session dans pgAdminIII. Pour VB, c'est quelque chose de complètement différent. Il faut passer par la méthode que j'explique ci-dessous.

CONNECTION ODBC
===============
Il faut d'abord Ă©tablir une connection ODBC pour communiquer avec PostgreSQL en vb. Il n'y a pas de connection directe entre vb et PostgreSQL Ă  ma connaissance.

Lors de la création de la connection ODBC, tu choisis ton pilote (j'utilise le 8.02.02.00), puis une fenêtre apparaît. N'oublie que, contrairement à Access, tu dois spécifier un nom d'utilisateur et un mot de passe pour accéder à PostgreSQL. Donne les bonnes infos dans les champs 'User Name' et 'Password'. Il faut donner bien sûr aussi l'adresse IP de l'ordi où est installé le serveur PostgreSQL ('localhost' si c'est sur le même ordi que tu travailles) et le port (généralement 5432) et le mode SSL (généralement 'disable'). Puis tu cliques sur 'Test'. Si ça marche, alors tes infos sont corrects. Si ça ne marche pas, alors, vérifie la façon dont est configuré ton serveur PostgreSQL.

CODE DE PROGRAMMATION VB
========================
Tu peux passer par ADODB pour communiquer avec PostgreSQL. C'est la méthode que j'utilise et qui est la plus simple. Voici ce que ça donne sous VB 6:

Sub Connection()
Dim cnn As New ADODB.connection
Dim cmd AS New ADODB.command
Dim rst AS New ADODB.Recordset

With cnn
.Provider = "MSDASQL"
.String = "DNS=matable;" ' Ici on donne l'info pour connecter Ă  la BD
.Open 'Ouverture de la communication
End With

'Ensuite tu peux faire toutes sortes de requĂŞtes

rst.Open "SELECT champ1, champ2 FROM matable", cnn
valeur1 = rst("champ1")
valeur2 = rst("champ2")
rst.Close

cnn.Close 'Fermeture de la communication

End Sub

J'espère que cela te seras utile.


Pas besoin d'un shell DOS pou

Christophe Chauvet/ = 24 Août, 2007 - 16:54

Pas besoin d'un shell DOS pour fixer ses valeurs, un clique droit sur le poste de travail puis l'onglet Avancé et cliquer sur le bouton Variables d'environnement.

les méthodes décrites fonctionnent avec VB (bien sur il faut la version du driver ODBC qui utilise la libpq.

sinon y'a toujours possibilité de mettre ça dans le code VB.

voici le code du module de base qui contient connexion et déconnexion que l'on utilise

Attribute VB_Name = "mod_Database"
Option Explicit

' /**
' * Module gestion base de donnée via ADO
' */

Public MyDB As New ADODB.Connection

Public Function Pg_Connect(Chaine As String) As Boolean
On Error Resume Next
Err.Clear

Chaine = Trim(Chaine)
MyDB.ConnectionString = Chaine
MyDB.Open
If (Err.Number <> 0) Then
Debug.Print "ERR: N° " & Err.Number & " -> " & Err.Description
Pg_Connect = False
Else
Pg_Connect = True
End If
End Function

Public Sub Pg_Close()
MyDB.Close
Set MyDB = Nothing
End Sub

' Convertie une DATE (AAAAMMJJ) et
' HEURE (HHmmss) au format
' TIMESTAMP ISO (AAAA-MM-JJ HH:mm:ss.00) de PostgreSQL.
Public Function Pg_TimeStamp(strDate As String, strTime As String) As String
Pg_TimeStamp = Mid(strDate, 1, 4) & "-" & Mid(strDate, 5, 2) & "-" & Mid(strDate, 7, 2) & " " & _
Mid(strTime, 1, 2) & ":" & Mid(strTime, 3, 2) & ":" & Mid(strTime, 5, 2) & ".00"
End Function

Cordialement.

Christophe Chauvet
KrysKool.org


© PostgreSQLFr, tous droits rĂ©servĂ©s.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.