Pourquoi passer par un outil intermédiaire en C# alors que vous pouvez faire ceci entièrement dans SQL Server ?
Passer par un outil posera immanquablement des problèmes de performances (round trips inutiles) et de fiabilité (que faire si le programme C# est arrêté ?).
Dans SQL Server, vous pouvez utiliser :
La réplication (qui est faite pour cela), des triggers, Service Broker, ou encore un des mécanisme de suivis du changement disponble dans la version 2008 (change data capture ou change tracking).
Au passage si vos deux bases sont sur dans la même instance, il suffit de faire :
1 2
| INSERT INTO DB2.dbo.MaTable (<liste des colonnes>)
SELECT <liste des colonnes> FROM DB1.dbo.MaTable |
Si vos deux bases sont sur des instances différentes ou des serveurs différents, il suffit de faire sur le serveur source :
1 2
| INSERT INTO MonServeur2.DB2.dbo.MaTable (<liste des colonnes>)
SELECT <liste des colonnes> FROM DB1.dbo.MaTable |
Après avoir enregistré votre serveur cible sur le serveur source avec les procédures stockées :
sp_addlinkedserver
sp_addlinkedsrvlogin
...
A +
Partager