PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Acces HFSQL par pyodbc
Acces HFSQL par pyodbc
Débuté par Fabien Toune, 13 sep. 2015 12:43 - 3 réponses
Posté le 13 septembre 2015 - 12:43
Bonjour,

J'essaie d'attaquer une base de donnée hfsw "fichiers" avec le driver ODBC, à partir de python.
Je définis la source de données (j'ai essayé système et utilisateur) comme mentionné dans la documentation, et j'essaie de m'y connecter via la commande

import pyodbc
cnx = pyodbc.connect("dsn=nom_de_ma_source")

A ce moment, python crashe, et impossible de savoir pourquoi...

Merci pour l'aide éventuelle !
Posté le 07 septembre 2016 - 15:29
:( J'ai aussi le même problème. As-tu trouvé une solution?
Posté le 08 septembre 2016 - 10:20
Bonjour,

j'ai rencontré des problèmes similaires.

essayez avec pypyodbc qui est une récécriture de pyodbc en pure python.

pip install pypyodbc

par contre, n'essayez pas d'utiliser des requêtes "préparées", il y a un bug avec. N'utilisez que des requêtes exécutées directement.

Cordialement.

Jonathan
Posté le 08 septembre 2016 - 10:24
Et en prime, un petit exemple :

import pypyodbc

IF __name__ == "__main__":
# conn = pypyodbc.connect('DSN=LDZ_64;')
conn = pypyodbc.connect('Driver={HyperFileSQL};ANA=C:\\chemin\\analyse.wdd;REP=C:\\chemin\\repdonnees;')
cur = conn.cursor()

# print("\n\n", dir(cur), "\n\n", help(cur), "\n\n")
print("\n\n**", cur.columns(table="nomfichier"), "**\n\n")
print(cur.fetchall())
# for row IN cur.fetchall():

# for field IN row:
# print (field, END=" ")

print("\n\n")

cur.execute("select * from nomfichier")

for row IN cur.fetchall():
for field IN row:
print (field, END=" ")


cur.close()
conn.close()


Dans cet exemple, pensez à changer le chemin du paramètre ANA qui pointe vers votre analyse, le chemin de REP qui pointe vers le répertoire de données et nomfichier qui correspond au fichier que vous souhaitez attaquer.

J'espère que cela vous dépannera