【发布时间】:2016-10-03 12:09:35
【问题描述】:
我使用 Visual Studio 和 ASP.NET 4.0 以 MSSQL 2012 Express 作为后端创建了一个应用程序。
最初并没有计划多个数据库,因此我使用单个数据库的单个连接字符串对应用程序进行了相应的编程。
现在,客户的要求发生了变化,他要求每年单独的数据库,DATABASE2015 为 2015 年,DATABASE2016 为 2016 年等等。
我会将结构和数据从上一年的数据库迁移到新年的数据库,这很好。
但是我将如何根据登录时选择的年份为不同的用户连接到不同的数据库?
另外,我在 web.config 中有一个连接字符串,并且我在整个项目的代码端和 html 端都为 asp.net 控件引用了该连接字符串。
请指教。
【问题讨论】:
-
我知道客户的要求很重要,但你确定客户知道他们在说什么吗?您打算如何管理可能跨越多年的报告/查询?例如,我想要过去 6 个月、12 个月、24 个月或 36 个月的销售报告?如果这是一个坏主意(或看起来是个坏主意),请不要盲目地提交客户请求。
-
你是对的,但是如果我将所有多年数据存储在单个数据库中,如果我只想搜索 2017 年的数据并且我必须查找之前 10 年的所有记录怎么办年。为了避免这种情况,我认为一种解决方案可能是每年都有单独的数据库。
-
有很多方法可以优化 DataTables 和使用索引等的查询。在这里可以很好地帮助您的一件事是 Views
-
会调查一下,谢谢先生。
标签: c# sql asp.net sql-server multiple-databases