OVH Cloud OVH Cloud

Accès générique aux bases de données

10 réponses
Avatar
Eric Masson
'Lut,

J'ai cherché sur google et dans les archives du groupe quelque
information concernant le sujet sans rien trouver de définitif pour le
moment.

Je n'ai trouvé que les spécifications de la DB-Api, mais il existe
autant d'implémentations que de bases cibles, enfin, plus en fait ;)

Une interface générique avec plugins pour les différentes bases
susceptibles d'être ciblées me semblerait plus efficient.

Donc, quelqu'un aurait-il une idée sur l'existence d'une api générique
d'accès aux données d'une base (du type AdoDB par exemple pour ceux qui
connaissent) ?

Y a-t-il une raison au fait que cela n'existe pas si c'est le cas ?

Merci d'avance

Éric Masson

--
MA QUESTION EST LA SUIVANTE:
quelqu'un aurait-il un login et mot de passe a me preter
en attendant que j'obtienne les miens Lundi.
-+- FM in GNU : avis aux cyber crédules -+-

10 réponses

Avatar
Yermat
'Lut,

J'ai cherché sur google et dans les archives du groupe quelque
information concernant le sujet sans rien trouver de définitif pour le
moment.

Je n'ai trouvé que les spécifications de la DB-Api, mais il existe
autant d'implémentations que de bases cibles, enfin, plus en fait ;)


Toutes ces implémentations respectent la DB-Api...

Une interface générique avec plugins pour les différentes bases
susceptibles d'être ciblées me semblerait plus efficient.


Gni ? Quelle différence fais-tu entre importer le module qui implémente
la DB-Api et un plugin ?

Donc, quelqu'un aurait-il une idée sur l'existence d'une api générique
d'accès aux données d'une base (du type AdoDB par exemple pour ceux qui
connaissent) ?


http://phplens.com/lens/adodb/adodb-py-docs.htm

Y a-t-il une raison au fait que cela n'existe pas si c'est le cas ?

Merci d'avance

Éric Masson


Si tu te bases sur la DB-Api tu peux très bien faire un programme qui
marche avec plusieurs bdd par contre il faut faire très attention au
niveau SQL...

--
Yermat

Avatar
News M Claveau /Hamster-P
Bonsoir !

Mais ADO-DB n'est pas générique du tout. Ce n'est qu'une méthode d'accès "de
plus" à certains SGBD. Par exemple, SQL-server peut être atteint par ADO,
par ODBC, par SQL-DMO, par SQL-link, etc.

Le problème est que les SGBD n'ont pas tous les mêmes fonctionnalités, pas
tous les mêmes gestion d'accès, pas tous les mêmes langages. Et, même en se
limitant à SQL, il y a beaucoup de variations, y compris dans la syntaxe.

Pour info, Pywin permet un accès très correct à ADO. Mais cela ne
fonctionnera qu'avec quelques SGBD de MS, et uniquement sous Windows. Et ADO
est limité, pour gérer des transactions, des blobs, du réparti, etc.

@-salutations
--
Michel Claveau
Avatar
Eric Masson
"Yermat" == Yermat writes:






Yermat> Toutes ces implémentations respectent la DB-Api...

Tout à fait d'accord, je ne remets pas ça en cause.

Yermat> Gni ? Quelle différence fais-tu entre importer le module qui
Yermat> implémente la DB-Api et un plugin ?

Euh, je n'en fais pas, le plugin/module est amha la même chose et doit
respecter les normes de la db-api, mais, j'aimerais bien disposer d'une
abstraction complète de l'accès à la base ou tu manipules des
dataadapters, datasets, datatables et autres objet de niveau assez haut
et ou la plomberie t'est masquée.

Yermat> http://phplens.com/lens/adodb/adodb-py-docs.htm

Ok, j'ai trouvé depuis, mais cela reste une implémentation très
partielle de ce qui est disponible dans les classes System.Data.OleDb en
environnement .Net, toute la partie cache local manque par exemple (la
version php semble un peu plus étoffée mais encore loin du modèle en
termes de fonctionnalités)

Yermat> Si tu te bases sur la DB-Api tu peux très bien faire un
Yermat> programme qui marche avec plusieurs bdd par contre il faut
Yermat> faire très attention au niveau SQL...

Tout à fait d'accord, mais là, le dernier boulot que j'ai effectué pour
un client en environnement .Net m'a probablement filé de mauvaises
habitudes ;)

Éric Masson

--
C'est malheureux de constater k'apres kelkes millers d'années d'evolution,
les hommes sont encore au stade *primitive* : peur de ce k'on ne connait
pas, juger ses sembles a tout prix, coller une etiquette et j'en passe.
-+- Gl in : <http://www.le-gnu.net> - fufe, c'est du Darwin -+-






Avatar
Yermat
"Yermat" == Yermat writes:
[...] mais, j'aimerais bien disposer d'une





abstraction complète de l'accès à la base ou tu manipules des
dataadapters, datasets, datatables et autres objet de niveau assez haut
et ou la plomberie t'est masquée.
[...]


http://sqlobject.org/
http://pytable.sourceforge.net/

J'en oublie encore mais si tu cherches par sur le lien suivant, tu
devrais trouver ton bonheur.
http://www.python.org/moin/DatabaseInterfaces

--
Yermat






Avatar
Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle.
Bonsoir !

Quand j'ai lu "PyTable", je n'ai pas réalisé, au premier coup, l'orthographe
utilisée.

En effet, il y a un très intéressant développement, sous Python, nommé
"Pytables" (http://www.carabos.com/products/pytables.html.fr)

Il constitue une autre approche de la gestion de données : l'organisation
hiérarchique. Après 20 ans d'hégémonie du relationnel, on redécouvre
certains aspects intéressants des autres techniques de gestion des données.

Mais, là, plus question de SQL, ou d'autres lourdeurs du même acabit.

A (re)-découvrir.

Bonne soirée
--
Michel Claveau
Avatar
Eric Masson
"MC" == News M Claveau <News> writes:






'Lut,

MC> Le problème est que les SGBD n'ont pas tous les mêmes
MC> fonctionnalités, pas tous les mêmes gestion d'accès, pas tous les
MC> mêmes langages. Et, même en se limitant à SQL, il y a beaucoup de
MC> variations, y compris dans la syntaxe.

On est tout à fait d'accord, et c'est en cela que je parlais de
généricité, puisqu'ADO.Net permet un accès unifié aux bases supportées
indépendemment des spécificités propres à chaque sgbd.

Je cherche un équivalent Pythonesque donc.

Éric Masson

--
Sinon, à propos d'afterstep et de window maker : quand je déplace une
fenêtre, en plus de la neige sur le moniteur, j'ai du crachin dans les
haut parleurs...
-+- hcl in Guide du linuxien pervers - "Y'a plus de saison j'vous dis :("






Avatar
Eric Masson
"Yermat" == Yermat writes:






Yermat> http://sqlobject.org/ http://pytable.sourceforge.net/

Yermat> J'en oublie encore mais si tu cherches par sur le lien suivant,
Yermat> tu devrais trouver ton bonheur.
Yermat> http://www.python.org/moin/DatabaseInterfaces

Ok, je vais jeter un oeil à tout cela asap.

Encore merci

Éric Masson

--
Et, en passant, sachez tout de même que Sacha a dit une sacré
dose de conneries à mon égard. La plus savoureuse est qu'il me prend
pour une victime, alors que je suis un GAGNANT.
-+- AB in GNU : Neuneu gagne surtout à ne pas être connu. -+-





Avatar
Franck Guillaud
Eric Masson wrote:

"MC" == News M Claveau <News> writes:







'Lut,

MC> Le problème est que les SGBD n'ont pas tous les mêmes
MC> fonctionnalités, pas tous les mêmes gestion d'accès, pas tous les
MC> mêmes langages. Et, même en se limitant à SQL, il y a beaucoup de
MC> variations, y compris dans la syntaxe.

On est tout à fait d'accord, et c'est en cela que je parlais de
généricité, puisqu'ADO.Net permet un accès unifié aux bases supportées
indépendemment des spécificités propres à chaque sgbd.

Je cherche un équivalent Pythonesque donc.


Python for .Net ?

http://www.zope.org/Members/Brian/PythonNet/

Franck,e-


Éric Masson








Avatar
Eric Masson
"Franck" == Franck Guillaud writes:






'Lut,

Franck> Python for .Net ?
Franck> http://www.zope.org/Members/Brian/PythonNet/

Effectivement, purement windows mais intéressant, bookmarké, merci.

Éric Masson

--
I just loaded a shortwave program into my PC, and the screen says to
continue, hit ANY key...but I can't find a key that says ANY on it,
what do I do?
-+- Ed in GNU : Il s'est pris un short any key comme une bête. -+-





Avatar
bruno modulix
Eric Masson wrote:
'Lut,

J'ai cherché sur google et dans les archives du groupe quelque
information concernant le sujet sans rien trouver de définitif pour le
moment.

Je n'ai trouvé que les spécifications de la DB-Api, mais il existe
autant d'implémentations que de bases cibles, enfin, plus en fait ;)

Une interface générique avec plugins pour les différentes bases
susceptibles d'être ciblées me semblerait plus efficient.

Donc, quelqu'un aurait-il une idée sur l'existence d'une api générique
d'accès aux données d'une base (du type AdoDB par exemple pour ceux qui
connaissent) ?

Y a-t-il une raison au fait que cela n'existe pas si c'est le cas ?

Merci d'avance



Tu devrais jeter un coup d'oeil à ce qui se fait sous Zope en matière
d'accès aux bases relationnelles.

--
bruno desthuilliers
ruby -e "print ''.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
--