[gull] ODBC LINUX & MSACCESS
Martial Guex
m.guex at mutech.ch
Wed Nov 26 18:21:02 CET 2003
On Tuesday 25 November 2003 13:43, Eric Piollet wrote:
> j'ai une base msAccess sur windows 2000 + 1 site /ldap/apache /php/mysql
> sur linux redhat 8
> En utilisant unixODBC est il possible d'attaquer la base access depuis ma
> plateforme LINUX ?
> Si oui ... ou trouver le driver ACCESS ???
Il faut que je précise quelques point, le problème avec une base de données
access (attention je parle d'une base de donnée clasique et non pas un
"projet"). Le système adopté par MS et d'utiliser un fichier et de gerer les
accés concurent à la bd par les clients. Ce qui explique la lenteur de ce
système sitôt qu'il y a plus d'un utilisateur. Ceci implique que tu doive
avoir en premier l'accés à ce fichier et en plus de pouvoir assurer l'accés
concurent à ce même fichier. Ce système n'existe pas à ma connaissance sur
Linux et d'ailleur ce serai hazadeux car MS pourait à tout instant changer la
méthode d'accés par l'intermèdiaire de patch de securité.
Il existe par contre des sortes de gateway odbc en le système odbc sur MS et
celui de linux:
http://odbcsock.sourceforge.net/
http://www.fastflow.it/dbftp/
Qui crée un server odbc sur MS et qui est accésible par des clients depuis
linux.
Pour ma part je convertirait ma bd access en projet access en utilisant MSDE
(version light de SQL Server) qui est disponible entre autre sur les CD
d'installation d'office 2000 pro et d'Access 2000.
La convertion peut-être fait automatiquement et ceci relativement facilement à
l'aide de l'assistant de migration vers SQL Server.
Ensuite tu peus facilement acceder au serveur MSDE depuis linux en utilisant
le driver d'accès freetds (http://www.freetds.org/) éventuellement par
l'intermediaire de sqlrelay, dbi etc.
Cette solution est beucoup plus propre et te permet des choses impossible avec
un bd access sous forme de fichier comme par exemple d'utiliser des requêtes
enregistrèe sur le serveur, de contrôler l'integriter au niveau du serveur et
d'executer de procèdures stoquées sur le serveurs, d'avoir des triggers etc.
Le petit inconvegnent et que pour faire un backup de la bd il ne suffit plus
de copier un fichier mais il faut executer soit une commande SQL (BACKUP) ou
d'utiliser MS Access (menu outils->utilitaire de bd->sauvegarder), par contre
il est possible de faire cette opération même si des clients sont connectés
contrairement à la copie du fichier access.
J'utilise freetds depuis un certain temps et je n'ai eu que rarement des
problèmes.
A+
Martial
More information about the gull
mailing list