OVH Cloud OVH Cloud

Python / ODBC / Oracle

3 réponses
Avatar
Sylvain
Bonjour =E0 tous,

Je suis relativement novice en python et je cherche =E0 mettre en place
un programme d'abords tout b=EAte pour se connecter =E0 une base de
donn=E9e oracle =E0 distance via ODBC. J'ai fais quelques recherches
sur le sujet, mais =E7=E0 reste encore confus pour moi. Globalement je
trouve tr=E8s souvent des exemples similaires =E0 celui ci :

import dbi, odbc
conn =3D odbc.odbc('mondsn/monlogin/monpassword')
c =3D conn.cursor()
c=2Eexecute('select clientid, name, city from client')
print c.fetchall()


Mon probl=E8me est tr=E8s b=EAte, c'est que je ne connais pas la
signification du DSN. Qu'est-ce que c'est et comment en cr=E9=E9 t-on
un ? S'agit-il de l'adresse de la base sur le serveur ? ou est-ce
autre chose li=E9 =E0 ODBC ? Existe t'il de bons tutoriaux
Python/ODBC/Oracle ?

Je vous remercie par avance de votre aide.

Sylvain

3 réponses

Avatar
Do Re Mi chel La Si Do
Bonjour !


Sous Windows XP (et 2000), la configuration d'ODBC se fait par "Sources de
données ODBC", que l'on trouve dans "Outils d'administration", qui se trouve
lui-même dans le "Panneau de configuration".

Avant de configurer, il faut, bien sûr, avoir installé le pilote ODBC
adéquat.

Ensuite, il sera possible d'y accéder depuis Python, ou depuis d'autres
logiciels/langages.

Les DSN (Data-Source-Names) sont appelés, en français, "Sources de données
système". Ils se configurent au même endroit. En gros, il y a un DSN par
base de données.

Attention à un point important : tous les pilotes ODBC ne fournissent pas
les mêmes fonctionnalités. Cela dépend aussi des logiciels qui sont
derrière.

Autre élément à prendre en compte : certains pilotes ODBC nécessitent
l'installation d'autres logiciels, pour fonctionner complètement.

Enfin, il peut y avoir plusieurs fournisseurs, pour des pilotes ODBC
concurrents sur le même SGBD.

Par exemple (et parce que je connais bien ce cas), pour Paradox, Microsoft
fournit un driver ODBC, qui est autonome, mais ne lit pas tous les formats
de fichiers. Intersolv/Merant fournit aussi un driver ODBC Paradox ; mais,
si ce dernier supporte tous les formats de fichier Paradox, il ne fonctionne
que le BDE (Borland Database Engine) est installé (ce qui, bien sûr, est
marqué en tout petit, dans un tout petit coin, d'un petit fichier,
accessible sur une petite branche de leur site).

Pour Oracle, je ne sais pas trop, sauf que cela marche (j'avais eu à faire
une connexion, il y a quelques mois, et ça avait marché).


@-salutations

Michel Claveau
Avatar
Sylvain
Merci pour ces précieuses informations !
Effectivement çà fonctionne très bien une fois le DSN installé :)
Je vais pouvoir avancer...

salutations

Sylvain
Avatar
coisfran
conn = odbc.odbc('mondsn/monlogin/monpassword')
mondsn


Data source name.
Nom de la source de donnee ODBC, doit etre configurée au prealable.
Lance odbcad32.exe (sur le poste client) et tu comprendras.