搜索计算机上安装的 SQL 服务器数据库

Search for SQL Server database installed on machine

我正在部署一个 wpf 应用程序,我想知道连接数据库的最佳方式是什么。

例如,在我安装我的应用程序后,我需要设置一个连接字符串来连接 SQL Server Express。

我读到一个线程,它告诉我可以找到安装在机器上的 SQL 服务器,所以在我找到它之后,如何以编程方式连接它?

我想到的另一件事是,有一个文件,我可以在 asp.net?

中读取和写入连接字符串 web.config

我知道有一个 app.config 文件,但在我部署它之后我想它变得无法访问了!

现在数据库层应该通过 DataServiceMicroService 与应用程序分开。哪个是数据访问层。

如果您不需要那种级别的分离并且仍在考虑直接连接到数据库的应用程序,我建议您使用配置来存储连接字符串,因为您可能希望涵盖数据库与数据库不在同一服务器上的情况WPF 应用程序。

非 Web 应用程序的配置文件称为 app.config,与 Web 应用程序的 web.config 完全相同。

自动查找安装的问题 sql 服务器实例很简单:如果在您启动应用程序的机器上安装了两个实例怎么办?应用程序如何知道要使用哪个?

如果是小型应用程序,将 SQL 服务器(尤其是 Express)放在同一台机器上并没有错。还有 'localdb' 功能。 无论如何,这段代码将找到您网络上 SQL 服务器的所有实例。然后您可以构建一个 window 来显示结果,让用户选择一个服务器,并根据结果构建一个连接字符串。请注意,服务器上的防火墙等可能会妨碍此过程 - 通常您会返回服务器名称但没有其他信息。您可以通过向防火墙添加例外来解决此问题。

 private  DataTable FindServers()
    {

        System.Data.Sql.SqlDataSourceEnumerator instance = System.Data.Sql.SqlDataSourceEnumerator.Instance;
        DataTable dt = instance.GetDataSources();
        return dt;

    }