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

WinDev Discussion :

Installer driver ODBC windev 5.5


Sujet :

WinDev

  1. #21
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 380
    Par défaut
    Bonjour @jurassicpork

    Je ne comprend pas bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       Dim dossierCompta As String 
        ' 1. Spécifiez le dossier où se trouve VRAIMENT le fichier wdcompta.wdd
        dossierCompta = "E:\temp\WD55"
    si tu utilise le .wdd de la version 5.5 pourquoi passer par une analyse version 16 liée à l'analyse 5.5 à moins que l'analyse wdcompta.wdd dans ton répertoire e:\temp\wd55 soit la version 16 ?

    le nom du driver odbc que tu utilise est "Hyper File 7" ?

  2. #22
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 380
    Par défaut
    Citation Envoyé par lubinfo Voir le message
    Bonjour @jurassicpork

    Je ne comprend pas bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
       Dim dossierCompta As String 
        ' 1. Spécifiez le dossier où se trouve VRAIMENT le fichier wdcompta.wdd
        dossierCompta = "E:\temp\WD55"
    si tu utilise le .wdd de la version 5.5 pourquoi passer par une analyse version 16 liée à l'analyse 5.5 à moins que l'analyse wdcompta.wdd dans ton répertoire e:\temp\wd55 soit la version 16 ?

    le nom du driver odbc que tu utilise est "Hyper File 7" ?
    Dans le répertoire E:\temp\wd55 c'est l'analyse de la base WDCOMPTA 5.5 qui y est (wdcompta.wdd) , l'analyse version 16 c'est pour pouvoir utiliser l'ODBC version 16 qui fonctionne contrairement aux ODBC 5.5 ou 7.5.
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  3. #23
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 380
    Par défaut
    Hello,
    voici un petit mode d'emploi qui explique comment j'ai fait :
    créer un projet avec une analyse vide (ex: PontWD160)
    dans cette analyse faire Structure de fichiers/Importer des descriptions de fichiers/tables
    Nom : PontWD160Import_1.png
Affichages : 40
Taille : 14,9 Ko Nom : PontWD160Import_2.png
Affichages : 40
Taille : 81,2 Ko
    choix de la source de données : HyperFile 5
    Nom : PontWD160Import_3.png
Affichages : 40
Taille : 35,7 Ko


    Accéder aux données dans le format HyperFile 5
    Nom : PontWD160Import_4.png
Affichages : 38
Taille : 26,3 Ko
    Analyse Windev 5.5 : choisir l'analyse .wdd de sa base HyperFile 5.5 (ex: E:\WINDEV\WD55\WDCOMPTA\WDCOMPTA.WD5\wdCompta.wdd)
    Nom : PontWD160Import_5.png
Affichages : 38
Taille : 25,9 Ko
    Cocher les Fichiers de données qui vous intéressent
    Nom : PontWD160Import_6.png
Affichages : 41
Taille : 40,8 Ko
    Lancer L'importation
    Nom : PontWD160Import_7.png
Affichages : 41
Taille : 20,9 Ko
    Enregistrer L'analyse
    Nom : PontWD160Import_8.png
Affichages : 39
Taille : 46,9 Ko
    Générer l'analyse
    Vérifier avec WDMAP que vous accédez bien aux données de votre base 5.5 en pointant le répertoire où se trouve les fichiers de données HFSQL 5.5
    Voilà enregistrer tout et fermer windev
    Lancer Source de données ODBC (32 bits)
    Dans l'onglet Pilotes ODBC vérifier que vous avez bien le pilote ODBC windev installé :
    Nom : PontWD160ODBC_1.png
Affichages : 39
Taille : 30,2 Ko
    moi par exemple j'ai le pilote HyperFileSQL installé (WD160) . Répertoire d'installation : C:\Program Files (x86)\Common Files\PC SOFT\16.0\ODBC
    Répertoire de C:\Program Files (x86)\Common Files\PC SOFT\16.0\ODBC


    07/08/2026 12:50 <DIR> .
    18/10/2021 17:03 <DIR> ..
    31/05/2011 11:28 WD160HF.DLL
    21/01/2011 12:26 WD160HFO.DLL
    09/03/2011 12:22 WD160SQL.dll
    30/09/2010 14:23 WD160UNI.dll
    06/06/2011 17:08 WD160VM.DLL
    07/10/2003 14:15 wd553hf.dll
    Notez que j'ai rajouté la dll wd553hf.dll qui n'est pas présente après l'installation du driver ODBC par l'installeur Windev
    Autre point important : wd553hf.dll n'existe qu'en 32 bits donc pas utilisable en ODBC 64 bits.
    et autre point important : à partir de la version 19 windev le HFSQL 5.5 n'est plus utilisable directement. Donc ne pas utiliser un driver ODBC > à la version 18.
    Ajouter une nouvelle source de données Utilisateur (DSN) (ex: PontWD160) en choisissant le driver HyperFileFSQL
    Nom : PontWD160ODBC_2.png
Affichages : 39
Taille : 9,9 Ko
    Choisir le Nom complet de l'analyse que l'on vient de créer (ex: E:\WINDEV\WD160\PONTWD160\PontWD160.ana\PontWD160.wdd)
    Choisir comme Répertoire de fichiers l'endroit où se trouvent vos fichiers de la base HFSQL 5.5 (ex: E:\WINDEV\WD55\WDCOMPTA)
    Et voilà faire OK .


    Voici un exemple de code VBA pour accéder à la base HFSQL 5.5 :
    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
    ' --- Déclaration de l'API Windows (au tout début du module) ---
     
    #If VBA7 Then
        Private Declare PtrSafe Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
    #Else
        Private Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
    #End If
     
     
    Sub ExecuterRequeteViaDSN()
        Dim conn As Object
        Dim rs As Object
        Dim connString As String
        Dim query As String
        Dim i As Long
        Dim dossierCompta As String
        ' 1. Spécifiez le dossier où se trouve VRAIMENT le fichier wdcompta.wdd
        dossierCompta = "E:\WINDEV\WD55\WDCOMPTA\WDCOMPTA.WD5"
        'dossierCompta = "E:\temp\WD55"
        ' 2. Forcer Windows à se placer dans ce dossier
        SetCurrentDirectory dossierCompta
        ' 1. Création des objets ADO
        Set conn = CreateObject("ADODB.Connection")
        Set rs = CreateObject("ADODB.Recordset")
        ' 2. Chaîne de connexion utilisant votre DSN
        connString = "DSN=PontWD160;"
        On Erreur GoTo ErreurConnexion
        ' 3. Ouverture de la connexion
        conn.Open connString
        ' 4. Exécution de la requête SQL
        query = "SELECT * FROM COMPTE"
        Set rs = conn.Execute(query)
        ' 5. Copie des entêtes de colonnes dans la feuille Excel (ex: Feuille1, à partir de A1)
        For i = 0 To rs.Fields.Count - 1
            Sheets("Feuil1").Cells(1, i + 1).Value = rs.Fields(i).Name
        Next i
        ' 6. Copie des données à partir de la ligne 2
        Sheets("Feuil1").Range("A2").CopyFromRecordset rs
        ' 7. Nettoyage
        rs.Close
        conn.Close
        Set rs = Nothing
        Set conn = Nothing
        MsgBox "Importation des données réussie via DSN !", vbInformation
        Exit Sub
    ErreurConnexion:
        MsgBox "Erreur : " & Err.Description, vbCritical
        If Not conn Is Nothing Then
            If conn.State = 1 Then conn.Close
        End If
    End Sub
    en dotnet :
    Code c# : 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
    using System;
    using System.IO;
    using ADODB; // Référence COM ADODB
    namespace PontWD160
    {
    class Program
    {
        static void Main(string[] args)
        {
            string dossierCompta = @"E:\WINDEV\WD55\WDCOMPTA";
    
            try
            {
                Directory.SetCurrentDirectory(dossierCompta);
    
                // Instanciation des objets COM
                Connection conn = new Connection();
                Recordset rs = new Recordset();
    
                string connString = "DSN=PontWD160;";
                string query = "SELECT * FROM COMPTE";
    
                conn.Open(connString);
                rs.Open(query, conn);
    
                // Entêtes de colonnes
                for (int i = 0; i < rs.Fields.Count; i++)
                {
                    Console.Write(rs.Fields[i].Name + "\t");
                }
                Console.WriteLine();
    
                // Parcours des données
                while (!rs.EOF)
                {
                    for (int i = 0; i < rs.Fields.Count; i++)
                    {
                        Console.Write(rs.Fields[i].Value + "\t");
                    }
                    Console.WriteLine();
                    rs.MoveNext();
                }
    
                rs.Close();
                conn.Close();
                Console.WriteLine("Importation réussie !");
            }
            catch (Exception ex)
            {
                Console.WriteLine("Erreur ADODB : " + ex.Message);
            }
        }
    }    
    }

    et en Python :
    Code python : 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
    import os
    import struct
    import win32com.client
     
     
    # 1. Contrôle d'architecture
    if struct.calcsize("P") * 8 != 32:
        print(
            "CRASH IMMINENT : Vous devez exécuter ce script avec Python 32 bits !"
        )
     
     
    # 2. Pointer sur le DOSSIER (et non le fichier .WD5)
    dossier_compta = r"E:\WINDEV\WD55\WDCOMPTA"
    try:
        os.chdir(dossier_compta)
    except Exception as e:
        print(f"Dossier introuvable : {e}")
     
     
    # 3. Instanciation des objets COM ADODB
    conn = win32com.client.Dispatch("ADODB.Connection")
    rs = win32com.client.Dispatch("ADODB.Recordset")
     
     
    conn_string = "DSN=PontWD160;"
    query = "SELECT * FROM COMPTE"
     
     
    try:
        print("Ouverture de la connexion ADODB...")
        conn.Open(conn_string)
     
     
        rs.Open(query, conn)
     
     
        # Noms des colonnes
        colonnes = [rs.Fields.Item(i).Name for i in range(rs.Fields.Count)]
        print("Colonnes :", colonnes)
     
     
        # Parcours des enregistrements
        while not rs.EOF:
            ligne = [rs.Fields.Item(i).Value for i in range(rs.Fields.Count)]
            print(ligne)
            rs.MoveNext()
     
     
        rs.Close()
        conn.Close()
        print("Succès !")
     
     
    except Exception as e:
        print(f"Erreur ADODB : {e}")

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

Discussions similaires

  1. [Généralités] Installation driver odbc
    Par noOneIsInnocent dans le forum HyperFileSQL
    Réponses: 1
    Dernier message: 15/01/2016, 21h46
  2. Réponses: 2
    Dernier message: 29/11/2012, 17h39
  3. Installation driver ODBC MS SQL Server
    Par Steph4fun dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/04/2006, 16h27
  4. Installation driver ODBC
    Par metafr dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 14/09/2005, 09h37
  5. [CR8.5] Comment installer driver ODBC oracle
    Par Tony49 dans le forum Connectivité
    Réponses: 2
    Dernier message: 14/03/2005, 14h22

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