【问题标题】:how to change connection string initial catalog如何更改连接字符串初始目录
【发布时间】:2011-11-24 11:41:31
【问题描述】:

我在网络配置文件中有一个连接字符串。 我在所有文件中都使用了这个与 name 的连接。

连接字符串是这样的

<add name="connectionname" connectionString="Data Source=DEVELOPER1;Initial Catalog=dbname;Persist Security Info=True;User ID=sa;Password=some"/>

我想根据下拉菜单更改登录页面中的初始目录(数据库名称),并且该更改对于应用程序将保持不变。

【问题讨论】:

  • 您可以在web.config 文件中添加多个连接字符串,在dropdown 中显示这些名称,然后继续
  • @V4Vendetta 正如我所提到的,我在所有页面中都使用了连接名称..

标签: c# asp.net database connection-string


【解决方案1】:

要更改连接字符串而不修改它,您应该执行以下步骤:

  1. 创建一个 SqlConnectionStringBuilder 对象将您的原始连接字符串分配给它
  2. 在创建的 SqlConnectionStringBuilder 对象中更改所需的参数。
  3. 将 SqlConnectionStringBuilder ConnectionString 属性添加到您的 DbConnection 对象。

请看下面的例子:(假设你首先用原来的连接字符串(这里是名称 db)创建了一个普通的 DbConnection):

if (db != null)
{
    SqlConnectionStringBuilder conn = new SqlConnectionStringBuilder(db.ConnectionString)
   { ConnectTimeout = 5, InitialCatalog = "your CatalogName" }; // you can add other parameters.
      db.ConnectionString = conn.ConnectionString;
      db.Open();
      return true;
   }
}

在给定的示例中,更改了初始目录和超时,但未触及原始字符串。

希望对你有所帮助。

【讨论】:

    【解决方案2】:

    我认为每个数据库都需要一个连接字符串。

    您有一个下拉菜单,用户可以在其中选择要连接的数据库。这个值需要被持久化,也许在 Session 中。

    您需要一个负责提供连接字符串值的类。此类通过下拉值/从会话中提取值,并将适当的连接字符串返回给您的 DAL 函数

    编辑:如果您在所有页面中都使用了连接字符串名称,您将不得不更改它。封装可能发生的变化。搜索和替换可以做到吗?

    【讨论】:

    • 请提供其他选项,而不是更改连接字符串名称!
    猜你喜欢
    • 2020-08-05
    • 1970-01-01
    • 2011-12-30
    • 2013-10-04
    • 1970-01-01
    • 2017-09-09
    • 2019-04-13
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多