Bonjour,
Débutant sur python depuis 48 heures, je bute sur un problème et je n'ai trouvé nul part comment le résoudre.

Ma configuration
Ubuntu 18.04 - Python 2.7

Le but final est de se connecter avec ODBC à un serveur HyperFile-SQL installée sur le serveur Ubuntu.

Pour cela j'ai :

- Installé et testé le serveur HFSQL en créant une base test_db avec une table pays.

- sudo apt install libodbc1 libiodbc2-dev iodbc pip

- pip install pyodbc

- Installé le driver HFSQL avec le script fourni*: sudo ./install.sh

- Créé par le script : /etc/odbcinst.ini
[ODBC Drivers]
HFSQL = Installed

[HFSQL]
Description = HFSQL ODBC Driver
Driver = /home/phil/odbc/wd200hfo64.so

- Créé : /etc/odbc.ini

[ODBC Data Sources]
testdb = HFSQL

[testdb]
Driver = /home/phil/odbc/wd200hfo64.so
Server Name = 127.0.0.1
Server Port = 4900
Database = test_db
UID = admin

- Testé > iodbctest "DRIVER={HFSQL};Server Name=127.0.0.1;Server Port=4900;Database=test_db;UID=admin;PWD=a99"
connexion et requete select/insert sur la table pays : ok

- Testé > iodbctest "DSN=testdb;UID=admin;PWD=a99"
connexion et requete select/insert sur la table pays : ok

Là ou cela coince c'est dans mon code de test : t01.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
import pyodbc
 
cs = "DRIVER={HFSQL};Server Name=127.0.0.1;Server Port=4900;Database=test_db;UID=admin;PWD=a99"
db = pyodbc.connect(cs)
print "Connexion ok"
db.close()
qui me renvoie le message suivant :
Traceback (most recent call last):
File "t01.py", line 4, in <module>
db = pyodbc.connect(cs)
pyodbc.Error: ('0000', u'[0000] [unixODBC]I (0) (SQLDriverConnect)')

Erreur identique si je met : cs = "DSN=testdb;UID=admin;PWD=a99"


J'ai regardé la configuration odbc avec la commande odbcinst -j et j'obtient
unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/phil/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

Voyant sur la première ligne, ainsi que dans le message d'erreur : "unixODBC", j'ai supposé que Python n'utilise pas iodbc mais unixODBC, alors j'ai exécuté sudo apt install unixodbc.
Aucun changement !

Une idée pour que j'avance un peu

Merci d'avance