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. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 371
    Par défaut Installer driver ODBC windev 5.5
    Bonjour,

    Je voudrais accéder via odbc à des fichier hyperfile version 5.5.

    Comment installer le driver odbc car je ne peux pas installer windev 5.5 sur windows 64 bits car le prog d'instal est en 16 bits.

    J'ai un windev 5.5 installé sur une VM windows XP, il y a un répertoire odbc32

    Je pense avoir eu une réponse proposant de créer une application 'bidon' et générer le prog d'instal en utilisant l'instal 32 bits mais comment forcer windev à proposer l'installation du pilote odbc dans ce cas ?

    Ne peut-on installer 'manuellement' le driver à partir du répertoire odbc32 ?

    Sur mon poste windows 10 j'ai windev 28 et le pilote odbc est installé mais je suppose qu'il ne gère plus le format hyperfile 5.5 ?

    Ou alors faire une instal d'une version 7.5 et cocher instal driver odbc qui lui acceptera peut-être le format 5.5 ?

  2. #2
    Membre Expert
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    1 205
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1 205
    Par défaut
    Bonsoir lubinfo,

    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
    LigCde est une chaine
    RepDest est une chaine=MonRep+"\"
    RepANA est une chaine=MonRep+"\MonAppli.WD5\"
    //si PhG=vrai RepANA="C:\Windev55\Concept\MonAppli\MonAppli.WD5\"
    NomODBC est une chaine="MonAppli"
    si Int9=faux
    	si fRep(SysRep(faux)+"\WD553ODH.dll")<>"" et fRep(SysRep(faux)+"\WD553HFO.dll")<>"" et fRep(SysRep(faux)+"\WD553ODS.dll")<>"" 
    		//les DLL sont là - "Installation pilote ODBC pour HF 32 bits"
    		multitache
     
    		// Crée la ligne de commande avec la description de la base
    		LigCde=" "+NomODBC+"§"+...
    					sansespace(RepDest)+"§"+...
    					sansespace(RepANA)+"MonAppli.wdd"
    		// Lance le programme d'init de la registry
    		DDELance(MonRep+"\odbcinst.exe"+LigCde,DDEIconise,Vrai)
    	Sinon
    	  info("DLL ODBC absentes !")
    	Fin
    sinon
    	si fRep(SysRep(faux)+"\WD90ODH.dll")<>"" et fRep(SysRep(faux)+"\WD90HFO.dll")<>"" et fRep(SysRep(faux)+"\WD90ODS.dll")<>"" 
    		//les DLL sont là - "Installation pilote ODBC pour HF 32 bits"
    		multitache
    		// Crée la ligne de commande avec la description de la base
    		LigCde=" "+NomODBC+"§"+...
    					sansespace(RepDest)+"§"+...
    					sansespace(RepANA)+"MonAppli.wdd"
    		// Lance le programme d'init de la registry
    		DDELance(MonRep+"\odbcinst.exe"+LigCde,DDEIconise,Vrai)
    	Sinon
    	  info("DLL ODBC absentes !")
    	Fin
    fin

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 371
    Par défaut
    Bonsoir serendib,

    Je ne suis pas familier d'odbc donc désolé pour mes questions 'triviales'

    Je ne trouve pas odbcinst.exe sur mon windows 10 64 bits ?

    Et avant d'utiliser odbcad32.exe pour créer manuellement ma source de données je pense qu'il ne suffit pas de copier les 3 .dll dans le répertoire system32 ?

    Autre question : il faut créer autant de source de données que de répertoires contenant les fichiers (cas d'une application multi dossiers) ?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    1 007
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 007
    Par défaut
    Bonsoir.
    Pourquoi ne pas utiliser WDMAP ?

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 371
    Par défaut
    Citation Envoyé par Yusep Voir le message
    Bonsoir.
    Pourquoi ne pas utiliser WDMAP ?
    Bonjour,

    En fait je souhaite accéder ponctuellement à des fichiers windev version 5.5 à partir d'un programme écrit en PureBasic.

    Ce n'est pas pour récupérer toutes les données une seule fois.

    J'ai fait un projet vide en version 7.5 pour lequel j'ai coché installer le driver odbc et cela marche, j'ai un driver Hyper File 7 d'installé, j'ai créé une source de données utilisateur mais je n'arrive pas à me connecter.

    Le driver Hyper File 7 est 32 ou 64 bits ?

    Supporte-il automatiquement les fichiers au format 5.5 et Classic ?

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 372
    Par défaut
    Hello,
    je crois que odbcinst.exe est un utilitaire pas fourni. Si tu as les fichiers dll que serendib montrent dans son code , si ils ne sont pas trop gros et que tu peux les mettre dans un zip et mettre ce zip en pièce jointe, je pourrais essayer de faire l'équivalent de odbcinst.exe. Normalement cela doit écrire des clés dans la base de registre.
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  7. #7
    Membre Expert
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    1 205
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1 205
    Par défaut
    Citation Envoyé par lubinfo Voir le message
    Bonsoir serendib,

    Je ne trouve pas odbcinst.exe sur mon windows 10 64 bits ?
    C'est fourni avec Windev55.

    Je viens de te l'envoyer par EMail.

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 371
    Par défaut
    Citation Envoyé par serendib Voir le message
    C'est fourni avec Windev55.

    Je viens de te l'envoyer par EMail.
    Merci.

    Je ne le trouve pas dans mon répertoire windev55 mais peut-être que cette copie est une installation pour laquelle je n'avais pas choisi d'installer le driver odbc.

    Je vais tester.

    Pour info le driver Hyper File 7 installé par une appli 7.5 est en 32 bits et ne lit pas les fichiers et analyses en 5.5 (encore une fois merci pcsoft d'avoir supprimé des fonctionnalités ...)

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 371
    Par défaut
    Re ...

    odbcinst.exe peut-il être lancé en ligne de commande directement et quelle est la syntaxe exacte

    le caractère "§" est le séparateur des options ?

    le code suivant ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    set ODBC_PRG=ODBCInst.exe
    set ODBC_NOM=ODBC55
    set ODBC_FIC=l:\liw\gcw\fic\burgerqueen\
    set ODBC_WDD=l:\liw\gcw\projet\gcw.wd5\gcw.wdd
     
    :: mettre avant dans windows\system32 :
    :: WD553ODH.dll, WD553HFO.dll, WD553ODS.dll
     
    %ODBC_PRG% %ODBC_NOM% %ODBC_FIC% %ODBC_WDD%
     
    pause
    ODBC55 n'est pas ajoutée dans la clé de registre Ordinateur\HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 372
    Par défaut
    Citation Envoyé par lubinfo Voir le message
    Re ...

    odbcinst.exe peut-il être lancé en ligne de commande directement et quelle est la syntaxe exacte

    le caractère "§" est le séparateur des options ?

    le code suivant ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    set ODBC_PRG=ODBCInst.exe
    set ODBC_NOM=ODBC55
    set ODBC_FIC=l:\liw\gcw\fic\burgerqueen\
    set ODBC_WDD=l:\liw\gcw\projet\gcw.wd5\gcw.wdd
    n
    :: mettre avant dans windows\system32 :
    :: WD553ODH.dll, WD553HFO.dll, WD553ODS.dll
     
    %ODBC_PRG% %ODBC_NOM% %ODBC_FIC% %ODBC_WDD%
     
    pause
    ODBC55 n'est pas ajoutée dans la clé de registre Ordinateur\HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBC.INI
    Hello lubinfo,
    peux-tu m'envoyer par mail un zip avec les dlls du code de serendib et le odbcinst.exe que je regarde ce qui se passe ?
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 371
    Par défaut
    re ..

    Alors qq détails pour que cela fonctionne :

    Les .dll WD553ODH.dll, WD553HFO.dll, WD553ODS.dll doivent être copiées dans c:\windows\sysWOW64\

    Pour que le batch fonctionne il faut l'enregistrer en ANSI et pas UTF-8

    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
     
    chcp 1252
     
    set ODBC_SEP=§
    set ODBC_PRG=ODBCInst.exe
    set ODBC_NOM=ODBC55
    set ODBC_FIC=l:\liw\gcw\fic\burgerqueen\
    set ODBC_WDD=l:\liw\gcw\projet\gcw.wd5\gcw.wdd
     
    :: mettre avant dans windows\sysWOW64 :
    :: WD553ODH.dll, WD553HFO.dll, WD553ODS.dll
     
    %ODBC_PRG% %ODBC_NOM%%ODBC_SEP%%ODBC_FIC%%ODBC_SEP%%ODBC_WDD%
     
    pause

    Pour le 'curieux', un bout de code purebasic pour tester :

    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
     
    ; # devant nom constantes, sans type
    ; .s pour string (chaîne)
    ; .i pour integer
     
    #ODBC_DRIVER = "Hyper File"    ; "Hyper File" pour HF5.5, Hyper File 7 est en 32 bits et pas pour HF 5.5
    #ODBC_DSN    = "ODBC55"        ; source de données utilisateur
    #ODBC_USER   = ""                   ; Si nécessaire
    #ODBC_PASS   = ""                   ; Si nécessaire
    #ODBC_ID     = 1                      ; n° ID de la base
     
    UseODBCDatabase()                  ; à déclarer si utilisation d'une source ODBC
     
    ; ouverture de la base
     
    If OpenDatabase(#ODBC_ID, #ODBC_DSN, #ODBC_USER, #ODBC_PASS, #PB_Database_ODBC)
      MessageRequester("Succès", "Connexion à la base de données réussie !")
     
      ; test sql sur fichier CLI
     
      If DatabaseQuery(#ODBC_ID, "SELECT * FROM CLI")
        While NextDatabaseRow(#ODBC_ID)
          Debug GetDatabaseString(#ODBC_ID, 3)  ; Affiche la colonne 3 : rsoc de chaque ligne
        Wend
      EndIf
     
      ; Fermer la connexion
      CloseDatabase(#ODBC_ID)
    Else
      ; erreur de connexion
      MessageRequester("Erreur", "Impossible de se connecter à la base de données !"+DatabaseError())
    EndIf
    J'aimerais bien avoir la syntaxe exacte de odbcinst.exe car le caractère § en séparateur est 'bizarre' ?

    Merci à tous et bonne canicule !

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 372
    Par défaut
    je crois que l'odbcinst.exe était prévu pour des anciens O.S. Cela a changé dans les windows modernes (ex Win10 Win11) bon j'ai regardé où était configuré le driver ODBC HFSQL windev 16 dans mon windows 11 dans la base de registre c'est cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBCINST.INI\HyperFileSQL]
    "APILevel"="1"
    "ConnectFunctions"="NYN"
    "Driver"="C:\\Program Files (x86)\\Common Files\\PC SOFT\\16.0\\ODBC\\WD160HFO.DLL"
    "FileExtns"="*.wdd"
    "FileUsage"="0"
    "Setup"="C:\\Program Files (x86)\\Common Files\\PC SOFT\\16.0\\ODBC\\WD160HFO.DLL"
    "DriverODBCVer"="02.10"
    "SQLLevel"="0"
    "UsageCount"=dword:00000000
    "Language"=dword:00000000
    "CPTimeout"="<non regroupé>"
    le WOW6432Node c'est la partie 32 bits de la base de registre. Apparemment en wd16 on utilise qu'une seule dll (mais dans le répertoire où elle est, il y a d'autres dll ( wd160VM, wd160hf etc ...). Pour windev 5 Le wd553ods.dll ce serait la dll de setup et wd553odh.dll la dll de handle.
    Finalement pas sur que l'on puisse installer le driver odbc wd 5 sur des windows modernes.
    si tu as installé le driver wd 7 regarde dans la base de registre l'endroit ou se trouvent les dll)
    En ce qui concerne la possibilité de lire une bdd 5.5 avec le driver 7.5 voilà ce que me répond une I.A :
    Le pilote ODBC HFSQL/HyperFile 7.5 est capable d'accéder aux bases HyperFile Classic des versions antérieures, y compris les anciennes bases HyperFile 5.5, à condition que leur format n'ait pas été modifié de manière incompatible. PC SOFT a conservé une compatibilité ascendante sur plusieurs générations de HyperFile Classic.En revanche, il faut tenir compte de plusieurs points :

    • Le pilote ODBC 7.5 nécessite le fichier d'analyse (.WDD) correspondant à la base. Sans ce fichier, il ne sait pas interpréter la structure des fichiers .FIC.
    • Si la base 5.5 utilise des fonctionnalités très anciennes ou des fichiers protégés, certains accès peuvent ne pas fonctionner correctement.
    • Le pilote ODBC HyperFile 7.5 est principalement destiné à des accès externes (Access, Excel, outils de reporting, etc.) et les premières versions étaient souvent limitées à la lecture seule.
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  13. #13
    Membre émérite

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 491
    Billets dans le blog
    1
    Par défaut
    Salut à tous
    Je rappelle qu'il existe une version spécifique pour faire la migration d'un projet windev 5.5 vers les versions supérieure
    Comme indiqué sur cette page
    https://faq.pcsoft.fr/2996-migration...stall-read.awp

  14. #14
    Membre Expert
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    1 205
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1 205
    Par défaut
    Citation Envoyé par popoy Voir le message
    Salut à tous
    Je rappelle qu'il existe une version spécifique pour faire la migration d'un projet windev 5.5 vers les versions supérieure
    Comme indiqué sur cette page
    https://faq.pcsoft.fr/2996-migration...stall-read.awp
    Bonsoir popoy,

    Il n'a nullement l'intention de migrer !
    S'il avait pu le faire, il l'aurait fait à l'époque.
    Seuls les vieux de la vieille qui avaient (et ont encore) une énorme appli en 5.5 me comprendront.

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 371
    Par défaut
    Bonjour,

    Pour l'accès ODBC à des fichiers 5.5 avec le driver 7 les réponses des IA c'est bien mais un test c'est mieux.

    Il ne lit pas les fichiers (et donc les analyses) version 5.5.

    PCSOFT la honte !

    Nom : erreur_odbc_7vs55.png
Affichages : 62
Taille : 5,0 Ko

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 372
    Par défaut
    Avec ma version de windev (la 16) je peux faire l'importation d'une analyse de BDD 5.5 (il y a la dll wd553hf.dll). J'ai testé avec les fichiers que lubinfo a fourni :
    Nom : FichiersBDD55.png
Affichages : 62
Taille : 8,6 Ko
    Je tente l'importation :
    Nom : ImportAnalyse55.jpg
Affichages : 61
Taille : 52,6 Ko

    ça commence à mouliner , on voit le nom des tables commençé à apparaître mais cela échoue avec le message :
    Nom : ImportAnalyse55_2.jpg
Affichages : 60
Taille : 19,7 Ko

    Peut-être que l'analyse ou les fichiers l'accompagnant ne sont pas au complet .
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 371
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Avec ma version de windev (la 16) je peux faire l'importation d'une analyse de BDD 5.5 (il y a la dll wd553hf.dll). J'ai testé avec les fichiers que lubinfo a fourni :
    Nom : FichiersBDD55.png
Affichages : 62
Taille : 8,6 Ko
    Je tente l'importation :
    Nom : ImportAnalyse55.jpg
Affichages : 61
Taille : 52,6 Ko

    ça commence à mouliner , on voit le nom des tables commençé à apparaître mais cela échoue avec le message :
    Nom : ImportAnalyse55_2.jpg
Affichages : 60
Taille : 19,7 Ko

    Peut-être que l'analyse ou les fichiers l'accompagnant ne sont pas au complet .
    Oui en fait la dernière version qui permettait d'importer une analyse 5.5 dans une analyse 'classique' était la version 18.

    Mais le message d'erreur qui j'indique c'est pour lire en purebasic des fichiers 5.5 via le drivers odbc de la version 7.5, et à c'est apparemment pas possible.

    J'utilise donc le driver odbc de la version 5.5

    Un autre détail : pour lire des fichiers 5.5 avec les versions actuelles de windev il faut la dll wd553hf et comme elle est en 32 bits on ne peut pas utiliser windev 64 bits

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 372
    Par défaut
    Citation Envoyé par lubinfo Voir le message
    J'ai fait un projet vide en version 7.5 pour lequel j'ai coché installer le driver odbc et cela marche, j'ai un driver Hyper File 7 d'installé, j'ai créé une source de données utilisateur mais je n'arrive pas à me connecter.
    Hello,
    J'ai réussi à mettre ce qu'il faut dans la base de registre pour créer un driver hyperfile 5.5 avec les dll du 5.5, je vois bien le driver , j'arrive à initialiser une source de données , c'est quand je clique sur Détails que cela se gate. La fenetre de config hyperfile 5.5 se ferme (details devrait faire une connexion et montrer les tables). Est-ce que tu as le même phénomene avec ton driver 7.5 ? si oui çà sent l'incompatibilité des drivers de ces versions avec des O.S récents comme windows 11 et 10.
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 371
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Hello,
    J'ai réussi à mettre ce qu'il faut dans la base de registre pour créer un driver hyperfile 5.5 avec les dll du 5.5, je vois bien le driver , j'arrive à initialiser une source de données , c'est quand je clique sur Détails que cela se gate. La fenetre de config hyperfile 5.5 se ferme (details devrait faire une connexion et montrer les tables). Est-ce que tu as le même phénomene avec ton driver 7.5 ? si oui çà sent l'incompatibilité des drivers de ces versions avec des O.S récents comme windows 11 et 10.
    Ami calmant, J.P
    Avec le driver 5.5 installé avec odbcinst.exe avec un batch comme expliqué plus haut cela fonctionne sur un windows 10 64 bits

    Par contre si je veux utiliser le driver 7 je ne peux pas me connecter à une source en 5.5, je n'ai pas essayé de me connecter à une source en version 7 et +

    Nom : odbc1.png
Affichages : 53
Taille : 21,3 Ko

    Nom : ODBC2.png
Affichages : 53
Taille : 10,0 Ko

    Nom : odbc3.png
Affichages : 53
Taille : 5,8 Ko

    Nom : odbc_registre.png
Affichages : 52
Taille : 19,8 Ko

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 372
    Par défaut
    Bon, j'ai réussi à faire quelque chose qui semble fonctionner : j'accède aux données d'une base HFSQL 5.5 à partir d'une macro VBA.
    Ma base HFSQL 5.5 est la base de l'exemple windev 5.5 WDCOMPTA . J'ai crée un projet en windev 16 avec une analyse qui contient les tables reliées de la base WDCOMPTA :
    Nom : AnalyseHFSQL_1.png
Affichages : 51
Taille : 68,2 Ko
    Nom : AnalyseHFSQL_2.png
Affichages : 49
Taille : 100,6 Ko

    Dans l 'ODBC32 j'ai crée une source (MaCompta) avec comme driver le driver ODBC de ma version 16 et avec l'analyse HFSQL Windev 16 comme analyse et le répertoire de fichiers de données de la base WDCOMPTA.
    Attention dans le répertoire ou se trouve les dll du driver ODBC il faut rajouter wd553HF.dll si il n'y est pas.
    Et voici le code vba qui me permet de récupérer les données de la table compte de la base WDCOMPTA :
    Code vba : 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:\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=MaCompta;"   
        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

    Et voici le code en action :
    Nom : recupHFSQL55.gif
Affichages : 47
Taille : 352,6 Ko

    c'est instantané pour 485 enregistrements
    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