Différences entre versions de « Conversion MS Access »
imported>SylvainBeucler m |
imported>SylvainBeucler m |
||
Ligne 25 : | Ligne 25 : | ||
Dans la même veine, il est possible de taper dans MS Excel via le principe générique de composants [http://en.wikipedia.org/wiki/Object_Linking_and_Embedding OLE]. [http://jakarta.apache.org/poi/ Jakarta POI] est une implémentation libre mais en Java. | Dans la même veine, il est possible de taper dans MS Excel via le principe générique de composants [http://en.wikipedia.org/wiki/Object_Linking_and_Embedding OLE]. [http://jakarta.apache.org/poi/ Jakarta POI] est une implémentation libre mais en Java. | ||
− | Ces solutions dépend de trop de composants propriétaires pour être | + | Toujours dans la même veine, utiliser un connecteur [http://en.wikipedia.org/wiki/ODBC ODBC]. Par exemple en PHP: |
+ | http://php.net/manual/en/faq.databases.php#faq.databases.access . La page parle de "synchronisation" entre deux bases accessibles via ODBC, c'est peut-être une solution. | ||
+ | |||
+ | |||
+ | Ces solutions dépend de trop de composants propriétaires pour être pérennes (il y est peut-être possible d'utiliser DotGNU ou Mono, si ceux-ci proposent un remplacement libre pour ADO.NET). Elles peuvent servir si elles permettent de convertir les données une fois pour toute - mais cela ne semble pas trivial. | ||
== Jackcess == | == Jackcess == |
Version du 8 mars 2006 à 12:39
Pour convertir une base MS Access vers autre chose...
MDB Tools
- http://mdbtools.sourceforge.net/
- aptitude install mdbtools
Utilisé notamment par OpenOffice.org 2 pour offrir une liaison en lecture seule à une base Access. OOo2 ne permet en revanche aucun type d'exportation à ma connaissance.
MDB Tools est composé de plusieurs outils simples, dont mdb-export
MDB2MySQL
MDB2MySQL se base sur MDB Tools pour fournir un dump utilisable par MySQL.
Il y a cependant beaucoup d'erreurs:
- il peut produire des VARCHAR d'une taille supérieur à 255, ce qui n'est pas admis par MySQL (à la place de passer vers TEXT)
- les noms des tables devraient être modifiés pour remplacer les caractères invalides pour MySQL mais valides dans Access (notamment, les espaces) - mais ça ne fonctionne pas :/
- si un champ en fin d'enregistrement est vide, il n'est pas utilisé dans le "INSERT", et MySQL considère cela comme une erreur.
Connecteurs
Nous avons entendu parler d'un connecteur ADO pour MS Access - c'est à dire, un accès générique SQL, sous MS Woe, et en utilisant le connecteur propriétaire ADO de chez MS. Cela peut peut-être servir pour exporter les données, mais avec quels outils? Par contre cela peut sans doute servir à intéragir avec une base MS Access, sans installer MS Access lui-même (par exemple de puis OOo2 Base).
Dans la même veine, il est possible de taper dans MS Excel via le principe générique de composants OLE. Jakarta POI est une implémentation libre mais en Java.
Toujours dans la même veine, utiliser un connecteur ODBC. Par exemple en PHP: http://php.net/manual/en/faq.databases.php#faq.databases.access . La page parle de "synchronisation" entre deux bases accessibles via ODBC, c'est peut-être une solution.
Ces solutions dépend de trop de composants propriétaires pour être pérennes (il y est peut-être possible d'utiliser DotGNU ou Mono, si ceux-ci proposent un remplacement libre pour ADO.NET). Elles peuvent servir si elles permettent de convertir les données une fois pour toute - mais cela ne semble pas trivial.
Jackcess
Solution en Java pour accéder à des bases MS Access 2000 (uniquement), mais en lecture et écriture. Rien à priori pour _exporter_ des données.
Scripts en VB
Si vous avez un MS Access à portée de main, on peut tenter d'extraire les données avec son langage de script, VBScript. Par exemple: http://burke.ath.cx/~ernesto/MDBtoSQLite.vbs (pour SQLite). D'après l'auteur, c'est du quick'n dirty.