OVH Cloud OVH Cloud

Lancement en ligne de commande

8 réponses
Avatar
Nag.
Bonjour,

je n'ai pas l'habitude d'Access donc je fais appel à vous pour m'aiguiller
dans mes recherches

J'ai 3 bases de données, 1 Sybase et 2 Access 2000 que l'on nommera S1, A1
et A2
Voila j'aimerai lancer en ligne de commande par le biais d'une tache
automatisée une macro ou un module (a vous de me dire en fait) qui fait les
choses suivantes:
1) Vider les tables de A1
2) se connecte par ODBC à S1
3) recopier dans A1 les données des tables de S1
4) une fois fini avec succès, recopier les données de A1 dans A2

Voila en gros mon pb, cette procédure devant être lancée en ligne de
commande...

Qq'un a une idée de réflexion ?

merci

8 réponses

Avatar
Dan
Salut Nag,

Perso je ferais le maximum dans A1 :

- la connexion ODBC (permanente) avec S1,
- la liaison avec les tables de A2
- la macro qui fait tout le process à partir de requêtes action

Et pour finir, la ligne de commande qui lance la macro de A1...

A+ Dan
Avatar
Tisane
Bonjour Dan,

Tu parles à qui là ? Il s'agissait de quel fil de discussion ?
Pas très pro le "" ;-)

--
Tisane


"Dan" a écrit dans le message de news:
443b74f7$0$19692$
Salut Nag,

Perso je ferais le maximum dans A1 :

- la connexion ODBC (permanente) avec S1,
- la liaison avec les tables de A2
- la macro qui fait tout le process à partir de requêtes action

Et pour finir, la ligne de commande qui lance la macro de A1...

A+ Dan



Avatar
Dan
Doit y avoir un blème : ma réponse apparaît dans le bon fil... A+ Dan
Avatar
Tisane
Doit y avoir un blème : ma réponse apparaît dans le bon fil... A+ Dan


Excuse-moi, le début du fil date de quand ?
C'est peut-être chez moi.

--
Tisane

Avatar
Dan
Message d'origine : Nag., en date du 11 avril à 08:32...
La pause café a été trop longue ?

Cordialement, Dan
Avatar
Tisane
Message d'origine : Nag., en date du 11 avril à 08:32...


C'est curieux. J'ai annulé puis recréé mon abonnement par news.microsoft.
Il n'apparaît toujours pas.
Je m'abonne par Wanadoo, il y est effectivement.
Avec une recherche dans Google, il apparaît "déjà" à... 17:32 ;-))

La pause café a été trop longue ?


Sans aucun doute ! Accepte toutes mes excuses,
--
Tisane

Avatar
Synopsis
SIMPLE !!

Tu écris un script VBS voire WSH, WSF (= VBS mais structuré en package)

Tu te connecte sur Access via DAO.
puis lance les macros successives de suppression, d'importation.

Quelle est la volumétrie à transférer entre S1 et A1 ?

L'inconvénient est le compactage de ta base de données.
A chaque traitement ta BD va grossir.
Il faut à mon avis partir d'une base de données vierge.

Pour A2, tu fais une copie de A1. Non ?


Tu peux réorienter les sorties de ta commande echo vers un txt

c:>monScript.wsf /annee:2006 /mois:04>log.txt


Aide en ligne :
http://www.microsoft.com/france/msdn/technologies/technos/scripting/info/info.asp?mar=/france/msdn/support/technopoches/info/techno_winscripthost.html&xmlpath=/france/msdn/technologies/technos/scripting/script_inforef.xml&rang=4






"Nag." a écrit dans le message de
news:443b4d2b$0$26156$
Bonjour,

je n'ai pas l'habitude d'Access donc je fais appel à vous pour m'aiguiller
dans mes recherches

J'ai 3 bases de données, 1 Sybase et 2 Access 2000 que l'on nommera S1, A1
et A2
Voila j'aimerai lancer en ligne de commande par le biais d'une tache
automatisée une macro ou un module (a vous de me dire en fait) qui fait
les

choses suivantes:
1) Vider les tables de A1
2) se connecte par ODBC à S1
3) recopier dans A1 les données des tables de S1
4) une fois fini avec succès, recopier les données de A1 dans A2

Voila en gros mon pb, cette procédure devant être lancée en ligne de
commande...

Qq'un a une idée de réflexion ?

merci




Avatar
Nag.
Merci, je vais me pencher sur cette méthode qui me parait ... judicieuse.

S1 est composé de 3 tables d'une volumétrie d'environ 6000 / 40 000 et 8000
lignes
Le compactage est en effet une donnée que nous devons traiter car a raison
de 50000 delete / insert toutes les 5 minutes ...
Soit on automatise (si possible) le compactage, soit en effet on recrée la
base à chaque fois.
Pour A2 je récupère les 3 tables de A1 que je réinsere dans A2, ici même
combat il faut compacter, le pb étant que je n'ai pas que c'est 3 tables
dans la base A2, je ne peux pas dans ce cas là repartir d'une base vierge.


"Synopsis" a écrit dans le message de
news:443bb018$0$19699$
SIMPLE !!

Tu écris un script VBS voire WSH, WSF (= VBS mais structuré en package)

Tu te connecte sur Access via DAO.
puis lance les macros successives de suppression, d'importation.

Quelle est la volumétrie à transférer entre S1 et A1 ?

L'inconvénient est le compactage de ta base de données.
A chaque traitement ta BD va grossir.
Il faut à mon avis partir d'une base de données vierge.

Pour A2, tu fais une copie de A1. Non ?


Tu peux réorienter les sorties de ta commande echo vers un txt

c:>monScript.wsf /annee:2006 /mois:04>log.txt


Aide en ligne :

http://www.microsoft.com/france/msdn/technologies/technos/scripting/info/info.asp?mar=/france/msdn/support/technopoches/info/techno_winscripthost.html&xmlpath=/france/msdn/technologies/technos/scripting/script_inforef.xml&rang=4







"Nag." a écrit dans le message de
news:443b4d2b$0$26156$
Bonjour,

je n'ai pas l'habitude d'Access donc je fais appel à vous pour
m'aiguiller


dans mes recherches

J'ai 3 bases de données, 1 Sybase et 2 Access 2000 que l'on nommera S1,
A1


et A2
Voila j'aimerai lancer en ligne de commande par le biais d'une tache
automatisée une macro ou un module (a vous de me dire en fait) qui fait
les

choses suivantes:
1) Vider les tables de A1
2) se connecte par ODBC à S1
3) recopier dans A1 les données des tables de S1
4) une fois fini avec succès, recopier les données de A1 dans A2

Voila en gros mon pb, cette procédure devant être lancée en ligne de
commande...

Qq'un a une idée de réflexion ?

merci