Bonjour amis développeurs,

Je viens à vous après de nombreuses recherches sur le net.
Je voudrais copier le contenu de plusieurs tables depuis une base de données locale (BDD de production alimentée par des automates),
dans des tables d'archivages sur une base de données distante.

Ce que j'aimerais faire plus précisément ressemblerait à :

INSERT INTO "tableDistante" SELECT * FROM tableLocale


Pour me connecter aux deux bases de données j'utilise deux ADODB.connection et deux ADODB.recordset :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
'Connexion à la de données locale (PC de supervision)
Set connLocal = CreateObject("ADODB.Connection")
Set rstLocal = CreateObject("ADODB.Recordset")           'DSN -> PC local
connLocal.Open "Provider=SQLOLEDB.1;Data Source=PC-032\SQLEXPRESS;Initial Catalog=CVM_DB","sa","----"
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
'Connexion à la base de données distante (Serveur BDD)
Set connDistant = CreateObject("ADODB.Connection")
Set rstDistant = CreateObject("ADODB.Recordset")			'DSN -> Server distant
connDistant.Open "Provider=SQLOLEDB.1;Data Source=PC-009\CVM_DAD;Initial Catalog=CVM_DB","CVM-User","----"
Ensuite je peux exécuter connDistant ou connLocal .execute(maRequete).

Donc j'avais pensé à faire quelque chose comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
req = "SELECT * FROM tableLocale"
	rstLocal = connLocal.Execute(req)
 
	req = "INSERT INTO tableDistante" & rstLocal        <---- 
	rstDistant = connDistant.Execute(req)
Et je me demandais si je pouvais me servir directement de rstLocal.{quelquechose}?
Ce rstLocal contient les données que j'ai à transférer, il doit donc avoir un moyen simple en partant de ça non?

J'ai trouvé comment faire de façon sale, en copiant tous les enregistrement dans un tableau puis en les transférant, mais bon...

Quelqu'un aurait il quelques conseils à me donner?

EDIT: A savoir que la structure des tables source et de destination est la même.

Cordialement,

sk