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

注意

数据集和相关类是 2000 年代初的旧 .NET Framework 技术,使应用程序能够在应用程序与数据库断开连接时处理内存中的数据。 它们对于使用户能够修改数据并持续更改回数据库的应用程序特别有用。 虽然数据集已被证明是一项非常成功的技术,但我们建议新的 .NET 应用程序使用 Entity Framework Core。 实体框架提供了一种更自然的方式来将表格数据作为对象模型,并且具有更简单的编程接口。

注意

本文提供有关在 Windows 应用程序中处理连接字符串的指导;对于云和 Web 应用程序,可以使用更安全的技术。 可以使用连接服务为本地开发添加对 Secrets.json 的支持,然后在部署到 Azure 时迁移到 Azure 密钥保管库以获取机密存储。 请参阅在开发过程中保护机密

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

将敏感信息(如密码)存储在连接字符串中可能会影响应用程序的安全性。 保存在应用程序配置文件中的连接字符串是未经加密处理的,因此其他人有可能访问该文件并查看其内容。

若要控制对数据库的访问,一种较为安全的方法是使用 Windows 集成安全性(对于支持的数据库)。

如果不选择使用 Windows 集成安全性,并且数据库需要用户名和密码,则可以在连接字符串中省略这些内容,但需要应用程序提供此信息才能成功连接到数据库。 例如,可以创建一个对话框提示用户提供此信息并在运行时动态生成连接字符串。 如果在发送到数据库的途中该信息被截获,则安全性将得不到保证。

有关详细信息,请参阅保护连接信息

从“数据源配置”向导中保存连接字符串

在“数据源配置向导”中,在“将连接字符串保存到应用程序配置文件”页面上选择用于保存连接的选项 。

将连接字符串直接保存到应用程序设置中

  1. 在“解决方案资源管理器”中,双击“我的项目”图标 (Visual Basic) 或“属性”图标 (C#) 以打开项目设计器
  2. 选择“设置”选项卡。
  3. 输入连接字符串的“名称”。 当在代码中访问该连接字符串时引用此名称。
  4. 将“类型”设置为“连接字符串”
  5. 将“范围”保留为“应用程序”
  6. 在“值”字段中键入连接字符串,或单击“值”字段中的省略号 (…) 按钮以打开“连接属性”对话框,从而生成连接字符串 。

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

通过使用“项目设计器”,可修改在应用程序设置中保存的连接信息

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

  1. 在“解决方案资源管理器”中,双击“我的项目”图标 (Visual Basic) 或“属性”图标 (C#) 以打开项目设计器
  2. 选择“设置”选项卡。
  3. 查找要编辑的连接,然后选择“值”字段中的文本。
  4. 编辑“值”字段中的连接字符串,或单击“值”字段中的省略号 (…) 按钮,以在“连接属性”对话框中编辑连接 。

编辑数据集的连接字符串

可以修改数据集中每个 TableAdapter 的连接信息。

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

  1. 在“解决方案资源管理器”中,双击具有要编辑的连接的数据集(.xsd 文件)
  2. 选择具有要编辑的连接的 TableAdapter 或查询。
  3. 在“属性”窗口中,展开“连接节点” 。
  4. 若要快速修改连接字符串,请编辑“ConnectionString”属性,或单击“连接”属性上的向下箭头,然后选择“新建连接” 。

安全性

将敏感信息(如密码)存储在连接字符串中可能会影响应用程序的安全性。 若要控制对数据库的访问,一种较为安全的方法是使用 Windows 集成安全性。 有关详细信息,请参阅保护连接信息