Se connecter avec
S'enregistrer | Connectez-vous

Access 2007 et site web...

Dernière réponse : dans Programmation

Bonsoir à tous, et merci de m'accorder un peu de votre temps :) 

J'ai créer dans le cadre d'un TP d'informatique en école d'ingénieur une base de données sous access. Cette base de données est basée sur un sujet et un besoin réel, et pour permettre son utilisation à 100%, il est nécessaire de la mettre à disposition sur un site web.

Seulement problème... comment réaliser cette opération :??: 

J'ai parcouru la toile, et j'en ai sorti une information qui me semble importante : il faut transformer la base de données access en base de données sql avec MySql par exemple...
C'est tout ce que je sais pour le moment, mais je ne sais pas comment m'y prendre...

Si une âme charitable voudrait bien m'aider :) 

Merci d'avance !

Autres pages sur : access 2007 site web

Lassé par la pub ? Créez un compte
Expert Programmation

Citation :
Elève Ingénieur + Base de données sous Access.

Tu m'inquiètes :/  Change d'école ou de base de données.

Ah, bah justement...
Alors sache que n'importe quel SGBD (pour les mots difficiles, l'élève ingénieur que tu es devra faire un peu de recherches) peut convenir. D'autre part, si tes besoins sont minimes, Access peut suffire, puisqu'il présente les dehors d'un SGBD.
Il n'en reste pas moins que MySQL est particulièrement prisé par la communauté des développeurs Web, car facilement pris en compte par PHP en particulier.

Comme Access est avant tout un outil bureautique d'une part, de Microsoft d'autre part, il accumule les tares. Rien n'est prévu pour 'dumper' le contenu de la base (ben oui, c'est de la bureautique), il y a bien une sortie, mais c'est vers SQL Server (ça, c'est bien l'esprit Crosoft), mais on s'en fout, c'est MySQL qui nous intéresse (Hein chonos ! :o  - :hello:  chonos )

Bon, comme c'est de l'Access, je suppose que tu n'as pas cinquante mille tables. Donc un petit export de chaque table vers un fichier texte ne devrait pas poser trop de problème. Ensuite, en jouant avec les délimiteurs, ou les champs fixes, tu devrais savoir refaire des fichiers d'import.

Exemple :
ID SGBD Editeur
-- ----------- ---------------
1 4D 4D
2 Access Microsoft Corp.
3 Berkeley DB Oracle Corp.
4 DB2 IBM
5 Derby Apache DB
6 FileMaker FileMaker, Inc.
7 Firebird Firebird
8 HyperFile PC SOFT
9 Informix IBM
10 Ingres Microsoft Corp.
11 MaxDB SAP AG
12 MySQL MySQL AB / Sun
13 OOo Base Sun Microsystems
14 Oracle Oracle Corp.
15 Paradox Corel
16 PostgreSQL M. Stonebraker
17 SQL Server Microsoft Corp.
18 SQL Server Sybase
19 SQLite D. Richard Hipp
20 dBase Borland

Zolie table, n'est-ce pas ?

Après export en texte, avec virgule et simple quote :
1,'4D','4D'
2,'Access','Microsoft Corp.'
3,'Berkeley DB','Oracle Corp.'
4,'DB2','IBM'
5,'Derby','Apache DB'
6,'FileMaker','FileMaker, Inc.'
7,'Firebird','Firebird'
8,'HyperFile','PC SOFT'
9,'Informix','IBM'
10,'Ingres','Microsoft Corp.'
11,'MaxDB','SAP AG'
12,'MySQL','MySQL AB / Sun'
13,'OOo Base','Sun Microsystems'
14,'Oracle','Oracle Corp.'
15,'Paradox','Corel'
16,'PostgreSQL','M. Stonebraker'
17,'SQL Server','Microsoft Corp.'
18,'SQL Server','Sybase'
19,'SQLite','D. Richard Hipp'
20,'dBase','Borland'


Evidemment, il faudra traiter à part les cas difficiles : nombres à virgule, chaînes contenant des apostrophes.
Ce sera ta punition pour avoir choisi Access.

Sais-tu parcourir un fichier et ajouter du texte devant et derrière ?
Si tu passes d'Access à MySQL, passe aussi de Windows à Linux. Une LAMP, rien de mieux pour publier sur le net.
Alors zou :
  1. for REF in table_*.txt ; do
  2. NOM_TABLE=$( basename $REF .txt | sed "s/table_//" )
  3.  
  4. echo "# Données de la table $NOM_TABLE" > table_$NOM_TABLE.sql
  5. cat $REF | sed "s/.*/INSERT INTO $NOM_TABLE VALUES (&);/" >> table_$NOM_TABLE.sql
  6. done


Ca donne, pour le fichier table_sgbd.txt, le fichier table_sgbd.sql
# Données de la table sgbd
INSERT INTO sgbd VALUES (1,'4D','4D');
INSERT INTO sgbd VALUES (2,'Access','Microsoft Corp.');
INSERT INTO sgbd VALUES (3,'Berkeley DB','Oracle Corp.');
INSERT INTO sgbd VALUES (4,'DB2','IBM');
INSERT INTO sgbd VALUES (5,'Derby','Apache DB');
INSERT INTO sgbd VALUES (6,'FileMaker','FileMaker, Inc.');
INSERT INTO sgbd VALUES (7,'Firebird','Firebird');
INSERT INTO sgbd VALUES (8,'HyperFile','PC SOFT');
INSERT INTO sgbd VALUES (9,'Informix','IBM');
INSERT INTO sgbd VALUES (10,'Ingres','Microsoft Corp.');
INSERT INTO sgbd VALUES (11,'MaxDB','SAP AG');
INSERT INTO sgbd VALUES (12,'MySQL','MySQL AB / Sun');
INSERT INTO sgbd VALUES (13,'OOo Base','Sun Microsystems');
INSERT INTO sgbd VALUES (14,'Oracle','Oracle Corp.');
INSERT INTO sgbd VALUES (15,'Paradox','Corel');
INSERT INTO sgbd VALUES (16,'PostgreSQL','M. Stonebraker');
INSERT INTO sgbd VALUES (17,'SQL Server','Microsoft Corp.');
INSERT INTO sgbd VALUES (18,'SQL Server','Sybase');
INSERT INTO sgbd VALUES (19,'SQLite','D. Richard Hipp');
INSERT INTO sgbd VALUES (20,'dBase','Borland');


Et voilà !

Eh ben... je ne m'attendais pas trop à ça xD.

Autant le dire, j'ai rien pigé ^^'

Et pour ce qui de l'école d'ingénieur, ce n'est pas une école spécialisé en informatique... Ce qui n'empêche d'avoir quelques cours de cette matière histoire de pas se retrouver comme un con devant une base de données par exemple...

Et pour Access, pas trop eu le choix, le logiciel était imposé...
Expert Programmation

Arfff.

Bon, alors en plus simple : Non, on ne peut pas passer d'Access vers MySQL parce qu'Access est mal pensé.

Sauf si on sait programmer, car dans ce cas, tout est possible. Encore faut-il avoir les outils pour ça. Dans la mesure où tu publies dans la cat' Programmation, tu es censé savoir programmer un minimum.

Tu cherche à mettre quoi sur internet ?

des formulaires, état,... access ?
ou tu veux juste utiliser les données et structure de ta base ?

si tu veux juste utiliser ta base de donnée en tant que tel tu peux faire tes formulaire, état, ... de deux facons :
- PHP et te connecter a ta base : exemple : http://code.activestate.com/recipes/123709/
- ASP : http://www.webwizguide.com/kb/asp_tutorials/connecting_... (j'amais testé j'aime pas ASP :)  )
il te faudra par contre un serveur sous windows pour faire cela (DCOM).

Apres si ce sont tes formulaires, état,... que tu veux utiliser j'y connais rien en access mais je pense que ce n'est pas possible.

++





Citation :
si tu veux juste utiliser ta base de donnée en tant que tel tu peux faire tes formulaire, état, ... de deux facons :


C'est ça que je veux faire je pense ^^

Merci pour les liens, je regarde ça de plus près :) 
Lassé par la pub ? Créez un compte