Datawarehouse avec ASP.NET MVC
-
09-10-2019 - |
Question
Sur un serveur, il y a plus de 20 bases de données avec une structure identique, mais des données différentes. Je dois recueillir certaines données (les mêmes requêtes) de toutes les bases de données et stocker dans nouvelle base de données qui se trouve sur un autre serveur. J'ai décidé d'utiliser ASP.NET MVC 2, mais il ne semble pas logique d'utiliser plus de 20 « LINQ to SQL Classes » (fichiers de .dbml) car la structure est la même pour toutes les bases de données et il est à répéter si je l'utilise tant de ces fichiers. Est-il un moyen simple d'utiliser un fichier .dbml (pour les bases de données à distance), mais le changement ne chaîne de connexion?
Merci à l'avance,
Ilija
La solution
Pourquoi voulez-vous utiliser ASP.NET MVC tout? ASP.NET est pour l'interface utilisateur Web, et non l'entreposage de données (sauf si vous avez besoin d'afficher des cubes). On dirait que vous utilisez SQL Server. Si cela est vrai, vous pouvez utiliser Integration Services (ex DTS) pour faire le travail.
Autres conseils
Je suis d'accord que vous avez vraiment ne voulez pas utiliser MVC comme c'est un framework web et n'a rien à voir avec les données se déplacer.
Vous pouvez également regarder dans un outil ETL pour accomplir cette tâche. Je l'ai utilisé RhinoETL dans le passé pour accomplir quelque chose de similaire avec succès.
Il y a aussi plusieurs messages sur ce site discuter des outils ETL. Par exemple, vérifiez le lien suivant - https://stackoverflow.com/questions/51198/ what-etl-outil-do-you-use
Selon cette , vous pouvez passer dans une chaîne de connexion avec le constructeur DataContext. Donc, en théorie, vous devriez être en mesure d'avoir un fichier dbml, mais vous pouvez instancier plusieurs instances de votre contexte de données, chacun avec une chaîne de connexion de base de données différente spécifiée. Chaque contexte devrait puis pointez sur leur base de données respectives et vous permettent de travailler avec plusieurs bases de données.