保存和编辑 .NET Framework 应用程序的数据库连接字符串

注释

此类 DataSet 和相关类是 2000 年代初的旧版 .NET Framework 技术,使应用程序能够在应用与数据库断开连接时处理内存中的数据。 这些技术对于使用户能够修改数据并将更改保留回数据库的应用特别有用。 尽管数据集是经过证实的成功技术,但新 .NET 应用程序的建议方法是使用 Entity Framework Core。 Entity Framework 提供了一种更自然的方式来将表格数据用作对象模型,并且具有更简单的编程接口。

本文提供有关在 Windows 应用程序中处理数据库连接字符串的指南。 但是,对于云和 Web 应用程序,提供了更安全的技术。 可以使用 Connected Services 为本地开发添加 对secrets.json 文件的支持,然后在部署到 Azure 时迁移到 Azure Key Vault 进行机密存储。 有关详细信息,请参阅 在开发过程中保护机密

安全注意事项

为了避免安全风险,请务必正确处理 Visual Studio 应用程序中的连接字符串。 Visual Studio 应用程序中的连接字符串通常保存在应用程序配置文件(也称为应用程序设置)中,或直接在应用程序中进行硬编码。 不建议直接将硬编码到应用程序中,因为连接字符串中的敏感信息(如数据库凭据)可以直接从未加密的二进制文件读取。 在应用程序配置文件中保存连接字符串更安全,这也简化了维护应用程序的任务。 如果需要更改连接字符串,可以在应用程序设置文件中更新它,而不是在源代码中更改它并重新编译应用程序。

如果在连接字符串中存储敏感信息(如密码),则可能会影响应用程序的安全性。 由于保存到应用程序配置文件的连接字符串未加密,因此有人可能访问该文件并查看其内容。 如果数据库需要用户名和密码,则可以从连接字符串中省略它们。 但是,应用程序必须以某种方式提供此信息才能成功连接到数据库。 例如,如果创建一个对话框,提示用户输入名称和密码并在运行时动态生成连接字符串,则可能会在访问数据库时截获此信息。

若要避免这些安全问题,对于支持它的数据库,请使用 Windows 集成安全性,以更安全的方式控制对数据库的访问。 有关详细信息,请参阅 保护连接信息

保存数据库连接字符串

可以在应用程序设置或数据集中保存数据库连接字符串。

在应用程序设置中保存连接字符串

若要直接在应用程序设置中保存连接字符串,请执行以下步骤:

  1. 解决方案资源管理器中,根据项目类型执行以下步骤之一:

    • 对于 C# 项目,展开项目,然后双击 “属性” 节点。
    • 对于 Visual Basic 项目,展开项目,然后双击 “我的项目 ”节点。

    此时会打开项目设计器。

  2. 选择 “设置” 选项卡。

  3. 输入连接字符串 的名称 。 在代码中访问连接字符串时,请引用这个名称。

  4. 类型设置为(连接字符串)。

  5. “范围 ”设置为 “应用程序”。

  6. “值”字段中输入连接字符串,或在“值”字段中选择省略号...)按钮以打开“连接属性”对话框以生成连接字符串。

在数据集中保存连接字符串

若要使用数据源配置向导在数据集中保存连接字符串,请执行以下步骤:

  1. 在“ 选择数据连接 ”页上,选择数据连接,然后选择“ 下一步”。

  2. 在“ 将连接字符串保存到应用程序配置文件 ”页上,选择用于将连接保存到应用程序配置文件的选项。

编辑数据库连接字符串

可以在应用程序设置或数据集中编辑现有的数据库连接字符串。

在应用程序设置中编辑连接字符串

若要在应用程序设置中编辑连接字符串,请执行以下作:

  1. 解决方案资源管理器中,根据项目类型执行以下步骤之一:

    • 对于 C# 项目,展开项目,然后双击 “属性” 节点。
    • 对于 Visual Basic 项目,展开项目,然后双击 “我的项目 ”节点。

    此时会打开项目设计器。

  2. 选择 “设置” 选项卡。

  3. 找到要编辑的连接,并在其 “值 ”字段中选择文本。

  4. 编辑“值”字段中的连接字符串,或选择“值”字段中的省略号...)按钮,以使用“连接属性”对话框编辑连接。

编辑数据集中的连接字符串

可以在数据集中修改 TableAdapter 的连接信息或查询。

若要编辑数据集中的连接字符串,请执行以下步骤:

  1. 解决方案资源管理器中,双击包含要编辑的连接的数据集(.xsd 文件)。

  2. 选择具有要编辑的连接的 TableAdapter 或查询。

  3. “属性” 窗口中,展开 “连接 ”节点。

  4. 若要修改连接字符串,请编辑 ConnectionString 属性,或选择 连接 节点上的向下箭头,然后选择“ 新建连接”。