在单个桌面应用程序中管理40个SQL连接

时间:2010-11-03 17:47:24

标签: c# .net settings sqlconnection

我有一个内部使用的桌面应用程序。该应用程序包含5个数据库。我们还有5个分支,每个分支都有自己的SQL Server。我们还有可以切换到使用本地SQL Server Express的移动用户。我们还有一个测试服务器。

所有人都说 25 SQL连接字符串指向中央(每个分支)SQL Server, 5 SQL Express连接字符串移动,然后 5 更多用于移动测试的SQL Express连接字符串,最后是用于中央测试服务器的 5 SQL连接字符串(每个数据库 1 )。对于 1 应用程序的 40 连接字符串的总数。

还有其他方法可以解决这个烂摊子的问题吗?你会建议什么?

我目前在DAL的Settings.settings文件中将所有连接存储为连接字符串。

2 个答案:

答案 0 :(得分:1)

我有一个可以在n个数据库之间切换的程序,我这样做的方法是为每个Dictionary中的密钥连接设置一些名称,这样就可以找到正确的连接字符串。

我使用DI(依赖注入)从application.xml检索连接字符串。

这样我可以轻松地更改连接字符串,添加/删除它们,当我重新运行程序时它会被更新,但是,如果应用程序正在运行并且您更改了连接字符串,则更改了不加载。

答案 1 :(得分:1)

您目前如何处理登录?我做了一个这样的示例,其中登录Web服务返回了最合适的连接字符串。显然,这可能需要对移动用户进行一些调整,但是1(或可能是1 /分支)服务URL可能比切割方案更容易管理,而且您只需要更新中心,所有客户都可以看到更改。

当然,数据的中央网络服务也是一种选择。