由于数据库移动而导致的c#连接字符串更改

时间:2015-05-15 14:21:41

标签: c# database-connection connection-string

我们正在将数据库从一台服务器移动到另一台服务器由于这个原因,有许多应用程序的连接字符串需要更改。有没有通用的方法我们可以保持连接字符串,这样如果我们再次移动数据库,那么这个问题不会出现?

4 个答案:

答案 0 :(得分:3)

有很多方法可以解决这个问题。

最终,您想要做的是集中数据库连接字符串,使数据库迁移(大部分)对您的应用程序透明。我可以在这里想到几个选项:

  1. 使用包含连接字符串和配置的“控制数据库”。如果迁移到新的数据库服务器,则只需更新应用程序中的单个连接字符串,并为其他所有内容执行数据更新。这是我个人使用的。

  2. 使用在应用程序启动时解析的中央XML配置文件。

  3. 使用SQL Server别名和/或向可以在服务器之间迁移的计算机添加其他IP。这样,当您移动到新的数据库服务器时,您仍然可以将现有的别名/ IP带到该服务器(当然,除非它们需要并行运行)并且理论上不需要更新代码中的任何内容,前提是您已经引用了适当的别名。有关详细信息,请参阅此处:https://dba.stackexchange.com/questions/56642/how-to-create-a-server-alias-in-sql-server-2012

  4. 在这里,我们最终使用选项1,因为这给我们提供了比XML配置文件(#2)更多的灵活性和可靠性,并且需要更少的配置和特殊情况与我们的DBA一起记录,因为我们没有任何数据库的所有权DEV环境之外的服务器。

答案 1 :(得分:0)

将连接字符串放在xml文件中并读取xml文件并从中获取连接字符串。您只需要更改xml文件中的连接字符串,而不是更改已发布的代码中的连接字符串。顺便说一句,您可以为调试和发布模式提供多个连接字符串,并让您的应用程序选择它。

答案 2 :(得分:0)

您可以将它们存储在数据库中。 ^ _ ^

除了笑话,我自己没有这方面的经验,但使用Alias声音可能最适合你: http://blog.idera.com/sharepoint/performance-webcasts/plan-your-sharepoint-farm-right-with-a-sql-server-alias/

答案 3 :(得分:0)

首先,您可以将连接字符串存储在外部文件(自定义存储或.config文件)中 - 这样您就可以在不重新编译代码的情况下更改它们。
其次,您可以使用域名而不是IP地址
  第三,您可以将连接字符串存储在部分中,并通过ConnectionStringBuilder在运行时构建它们 - 因此您只能更改服务器部分。