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
[ Vous devez
vous connecter pour poster des commentaires ]
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.
[ Vous devez
vous connecter pour poster des commentaires ]
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.
[ Vous devez
vous connecter pour poster des commentaires ]
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
[ Vous devez
vous connecter pour poster des commentaires ]