Comment accéder à une base de données Access distante?

cs_JGD Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 6 décembre 2012 - 30 août 2012 à 08:45
cs_JGD Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 6 décembre 2012 - 16 sept. 2012 à 09:34
Bonjour,

Après une journée entière passée à chercher sur les forums, je n'ai pas trouvé de solution à mon problème.
Pour le moment, mon programme accède à une base de données Access 2007 située sur mon poste, mais pour des raisons pratiques et afin que d'autres personnes puissent aussi accéder à cette base de données de chez eux, j'aurais voulu rendre ma base de données accessible à distance par le programme mais je ne trouve pas la solution. J'ai bien réussi à trouver comment ouvrir une base de données Access protégée par un mot de passe, mais je n'ai pas trouvé comment accéder à une base de données située par exemple sur un cloud (type SkyDrive) avec un identifiant et un mot de passe pour se connecter au cloud. Je ne fais pas de fixation sur le cloud, toute autre solution d'accès à distance de ma base de données est la bienvenue.

La solution à mon problème est peut-être très simple, mais étant relativement débutant je suis vraiment perdu.
Merci d'avance pour vos réponses.


GIGADEP

37 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
2 sept. 2012 à 16:29
Si, tu le peux, vu que normalement c'est toi qui es censé superviser l'hébergement de ces bases.
Les solutions "dans le cloud" font exactement ça.

Tu ne m'avais pas parlé d'établissements différents
Dans ce cas, tu peux créer une autre base en restaurant un backup de la première.
C'est vrai qu'ici, ça a déjà un (petit) peu plus de sens.
Parce qu'une base par prof, ça c'est une très mauvaise idée.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cs_JGD Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 6 décembre 2012
2 sept. 2012 à 16:45
Ce que je veux dire c'est que si un établissement paye un FAI pour héberger sa base, il n'hébergera pas les bases des autres établissements. Et si chaque établissement a une BDD hébergée dans un lieu différent, comment indiquer au programme où rechercher la base.
De plus, j'avais cru comprendre que je ne pouvais pas passer par le cloud pour stocker ma BDD MySQL mais que je devais faire héberger directement par un FAI.

GIGADEP
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
2 sept. 2012 à 18:16
Euh... un FAI est un fournisseur d'accès internet (Orange, Free, etc.), pas un hébergeur
Si la base se trouve sur un autre serveur, c'est ton DSN qui change (le champ Serveur)

Passer par le cloud, c'est aussi passer par un hébergeur (souvent assez gros) qui dispose de beaucoup de serveurs.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cs_JGD Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 6 décembre 2012
2 sept. 2012 à 18:26
Oui, donc je peux mettre ma BDD sur un cloud. Ce n'est pas gênant d'avoir plusieurs connexions simultanées sur un cloud avec un seul et même nom d'utilisateur?



GIGADEP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
2 sept. 2012 à 18:35
Ce n'est pas un problème pour MySQL, par contre faut voir si l'hébergeur est d'accord avec ça,
mais normalement ça ne devrait pas poser problème.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cs_JGD Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 6 décembre 2012
2 sept. 2012 à 18:48
Merci pour tes réponses rapides. Je vais me renseigner.


GIGADEP
0
cs_JGD Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 6 décembre 2012
5 sept. 2012 à 14:52
Bon, j'ai essayé de me débrouiller un peu seul, mais je n'y arrive vraiment pas.
Tout d'abord, j'essaye d'exporter ma BDD Access en SQL Server avec l'assistant d'Access, mais je suis perdu. J'ai choisi "Créer une nouvelle BDD". Ensuite l'assistant me demande quel serveur SQL je veux utiliser pour cette BDD. J'ai indiqué: localhost. Comme ID de connexion, j'ai mis root et j'ai mis le mot de passe que j'ai défini quand j'ai installé MySQL.
Mais j'ai un message d'erreur qui m'indique un échec lors de la connexion et que le serveur SQL n'existe pas ou son accès est refusé.
Ensuite, j'ai essayé d'utiliser MySQL Workbench, mais je n'ai pas su quoi faire une fois que je l'ai ouvert. Existe-t-il un tuto simple en français???



GIGADEP
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
5 sept. 2012 à 23:17
Dans le Workbench, va dans le menu Database > Migrate.
Clique ensuite sur Open ODBC administrator et crée un DSN (que tu supprimeras ensuite) pointant vers ta BDD Access.
Quand il te demandera la source, choisis Generic RDBMS (=Relational DataBase Management System, SGBDR) comme système de BDD et
ODBC [...] comme méthode de connexion. Dans l'onglet Paramètres, choisis le DSN que tu viens de créer.
Clique sur Next, sélectionne une Stored Connection (celle que tu utilises pour le Workbench).

Après, ça devrait aller en suivant normalement l'assistant.
Si t'en sors pas (pas testé jusqu'au bout, pas le temps en semaine), dis-le, je ferai un tuto là-dessus.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cs_JGD Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 6 décembre 2012
6 sept. 2012 à 06:45
Merci ghuysmans99 pour ces explications.
J'avance un peu mais les problèmes continuent.
Tout d'abord, quand je choisis Generic RDBMS comme système de BDD, je n'ai aucune Stored connection.
Par contre, si je choisis MySQL, j'ai accès à des Stored connections.
Je dois ensuite sélectionner des schemata, j'ai tout sélectionné ne sachant pas à quoi cela correspond. Ensuite, à l'étape Manual Editing, j'ai un message d'erreur qui m'indique que la source et la cible sont sur le même serveur et qu'un schema migré a le même nom. On me demande de renommer le schéma cible pour permettre à la migration de continuer. Je ne sais même pas où changer le nom d'un schéma cible et encore moins à quoi cela correspond...
Tant qu'on y est, je n'ai pas trouvé l'onglet Paramètres qui permet de choisir le DSN créé.


GIGADEP
0
Je suis débutant, veuillez m'excuser de vous interompre sur votre sujet, un peu brusquement, pour vous tirer vers le bas. J'ai un exercice sur VB6, j'utilise une base de données Access MS 2007 avec extension .accdb mais la base est dans une version inférieure, à celle-ci, avec extension .mdb. Après la conversion en Access 2007, avec son outil convertir, elle ne s'ouvre plus avec VB6 qui renvoie le message d'erreur suivant:" Format de base de données non reconnu, numéro d'erreur 3343". Merci
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
6 sept. 2012 à 18:37
Euh tu dois spécifier comme source la base Access et comme destination, la base MySQL...
Là tu as mis la même chose dans les deux, forcément l'outil d'import n'aime pas trop

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cs_JGD Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 6 décembre 2012
6 sept. 2012 à 21:36
Merci.
Oui, effectivement, c'est ce que j'avais compris mais je n'avais pas vu où j'avais commis une erreur.
En reprenant étape par étape, j'ai compris mon erreur. En fait, lors de la migration, dans les paramètres de source de connexion RDBMS, j'ai mis "Generic RDBMS" dans "Database system", et dans Connexion Method, il fallait choisir "ODCB Data Source" pour voir apparaître la base de données Access (ce que j'avais oublié de faire).

Par contre j'ai une erreur à l'étape "Reverse Ingineer Source". Il m'affiche le message suivant:


"Starting...

Connect to source DBMS...

- Connecting...

Connect to source DBMS done

Reverse engineer selected schemata....

Reverse engineering accdb.None from "Dossier de ma BDD"

- Reverse engineering catalog information

- Preparing...

Traceback (most recent call last):

File "C:\Program Files\MySQL\MySQL Workbench 5.2 CE\modules\db_generic_re_grt.py", line 203, in reverseEngineer

table_count_per_schema[schema_name] = len(getTableNames(connection, catalog_name, schema_name)) if get_tables else 0

File "C:\Program Files\MySQL\MySQL Workbench 5.2 CE\modules\db_generic_re_grt.py", line 151, in getTableNames

get_connection(connection).cursor().tables(catalog=catalog_name, schema=schema_name) if row.table_type=='TABLE'))

pyodbc.Error: ('HYC00', '[HYC00] [Microsoft][Pilote ODBC Microsoft Access]Fonction optionnelle non install\xe9e (106) (SQLTables)')


Traceback (most recent call last):

File "C:\Program Files\MySQL\MySQL Workbench 5.2 CE\workbench\wizard_progress_page_widget.py", line 191, in thread_work

self.func()

File "C:\Program Files\MySQL\MySQL Workbench 5.2 CE\modules\migration_schema_selection.py", line 160, in task_reveng

self.main.plan.migrationSource.reverseEngineer()

File "C:\Program Files\MySQL\MySQL Workbench 5.2 CE\modules\migration.py", line 329, in reverseEngineer

self.state.sourceCatalog = self._rev_eng_module.reverseEngineer(self.connection, self.selectedCatalogName, self.selectedSchemataNames, self.state.applicationData)

SystemError: Error("('HYC00', '[HYC00] [Microsoft][Pilote ODBC Microsoft Access]Fonction optionnelle non install\xe9e (106) (SQLTables)')"): error calling Python module function DbGenericRE.reverseEngineer

*** ERROR: Reverse engineer selected schemata: Error("('HYC00', '[HYC00] [Microsoft][Pilote ODBC Microsoft Access]Fonction optionnelle non install\xe9e (106) (SQLTables)')"): error calling Python module function DbGenericRE.reverseEngineer

Failed"



Si j'ai bien compris, il y a une fonction optionnelle du pilote ODBC Microsoft Access qui n'est pas installé. Mais comment l'installer?


GIGADEP
0
Merci Ghuysmans99, pour votre réponse. Je vais suivre votre conseil et essaier VB.NET avec votre aide.
0
cs_JGD Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 6 décembre 2012
10 sept. 2012 à 22:18
Bonsoir,

Je n'ai toujours pas avancé sur mon problème. Est-ce que quelqu'un aurait une piste qui pourrait expliquer le message d'erreur que j'ai concernant le pilote ODCB?

GIGADEP
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
11 sept. 2012 à 18:45
En cherchant sur Google "optional feature not implemented access mysql", on tombe sur quelques résultats...

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cs_JGD Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 6 décembre 2012
11 sept. 2012 à 21:45
J'ai beau reprendre depuis le début, ça ne marche toujours pas.
Je me demande si le problème ne vient pas de la connexion. Je m'explique: lorsque je fais la migration, je choisis Generic RDBMS en Database system. Et à partir de ce moment, je n'ai plus aucune "Stored connection" alors que quand je choisis MySQL, je retrouve ma connexion dans "Stored connection".
Je ne comprends pas ce que j'ai pu faire de travers. Si quelqu'un a une idée, je suis preneur parce que je commence à désespérer...

GIGADEP
0
cs_JGD Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 6 décembre 2012
16 sept. 2012 à 09:34
Je n'y arrive toujours pas. Quelqu'un a-t-il une idée?


GIGADEP
0
Rejoignez-nous