我正在部署一个 wpf 应用程序,我想知道如何连接到数据库的最佳方式。
例如,在我安装我的应用程序后,我需要设置一个连接字符串来连接 SQL Server Express。
我读了一个线程,告诉它可以找到安装在机器上的 SQL Server,所以在我找到它之后,如何以编程方式连接它?
我想的另一件事是,有一个文件我可以在 asp.net 中读取和写入连接字符串作为 web.config?
我知道有一个app.config
文件,但是在我部署它之后,我猜它变得无法访问!
我正在部署一个 wpf 应用程序,我想知道如何连接到数据库的最佳方式。
例如,在我安装我的应用程序后,我需要设置一个连接字符串来连接 SQL Server Express。
我读了一个线程,告诉它可以找到安装在机器上的 SQL Server,所以在我找到它之后,如何以编程方式连接它?
我想的另一件事是,有一个文件我可以在 asp.net 中读取和写入连接字符串作为 web.config?
我知道有一个app.config
文件,但是在我部署它之后,我猜它变得无法访问!
如果 SQL Server 是一个小型应用程序,那么将 SQL Server(尤其是 Express)放在同一台机器上并没有什么问题。还有“localdb”功能。无论如何,这段代码将找到您网络上的所有 SQL Server 实例。然后,您可以构建一个窗口来显示结果,让用户选择一个服务器,并从结果中构建一个连接字符串。请注意,服务器上的防火墙等可能会妨碍此过程 - 通常您会返回服务器名称但没有其他信息。您可以通过向防火墙添加例外来解决此问题。
private DataTable FindServers()
{
System.Data.Sql.SqlDataSourceEnumerator instance = System.Data.Sql.SqlDataSourceEnumerator.Instance;
DataTable dt = instance.GetDataSources();
return dt;
}
DataService
如今,数据库层应该通过或与应用程序分开MicroService
。这将是数据访问层。
如果您不需要这种级别的分离并且仍在考虑直接连接到数据库的应用程序,我建议您使用配置来存储连接字符串,因为您可能希望涵盖数据库与 WPF 应用程序不在同一台服务器上的情况。
调用非 Web 应用程序的配置文件,与 Web 应用程序的配置文件app.config
完全相同web.config
。
自动查找已安装的 sql server 实例的问题很简单:如果在您启动应用程序的机器上安装了两个实例怎么办?应用程序如何知道使用哪个?