在一台服务器上,有20多个数据库具有相同的结构但数据不同。我需要从所有数据库中收集一些数据(相同的查询)并存储在另一台服务器上的新数据库中。我决定使用ASP.NET MVC 2,但使用超过20个“LINQ to SQL Classes”(。dbml)文件似乎不合逻辑,因为所有数据库的结构都是相同的,如果我使用了这么多的数据库,它会重复这些文件。是否有一种简单的方法可以使用一个.dbml文件(对于远程数据库)但只更改连接字符串?
提前致谢,
伊利亚·
答案 0 :(得分:2)
我同意你真的不想使用MVC,因为它是一个Web框架,与移动数据无关。
您还可以考虑使用ETL工具来完成此任务。我过去曾成功使用过RhinoETL来完成类似的工作。
此网站上还有多篇帖子讨论ETL工具。例如,请检查以下链接 - https://stackoverflow.com/questions/51198/what-etl-tool-do-you-use
答案 1 :(得分:2)
根据this,您可以使用dataContext构造函数传递连接字符串。因此,理论上,您应该能够拥有一个dbml文件,但是您可以实例化数据上下文的多个实例,每个实例都指定了不同的数据库连接字符串。每个上下文应然后指向各自的数据库,并允许您使用多个数据库。
答案 2 :(得分:1)
为什么要使用ASP.NET MVC呢? ASP.NET用于Web UI,而不是数据仓库(除非您需要显示多维数据集)。看起来你使用SQL Server。如果这是真的,你可以利用Integration Services(前DTS)来完成这项工作。