我有一个UWP应用程序,需要连接到SQL Server Express数据库。在我的开发环境中,没有任何问题。
在客户端PC上,我安装了SQL Server Express,创建了数据库,并设置了用户和登录信息。
当我运行应用程序并尝试连接到数据库时,出现了错误:
“在建立到 SQL Server 的连接时发生与网络相关或特定于实例的错误。 找不到服务器或无法访问。请验证实例名称是否正确且 SQL Server 已配置允许远程连接。 (提供程序:TCP Provider, error: 40 - 无法打开到 SQL Server 的连接)”
我用来连接的代码是:
在客户端PC上,我安装了SQL Server Express,创建了数据库,并设置了用户和登录信息。
当我运行应用程序并尝试连接到数据库时,出现了错误:
“在建立到 SQL Server 的连接时发生与网络相关或特定于实例的错误。 找不到服务器或无法访问。请验证实例名称是否正确且 SQL Server 已配置允许远程连接。 (提供程序:TCP Provider, error: 40 - 无法打开到 SQL Server 的连接)”
我用来连接的代码是:
...
using (SqlConnection connection = new SqlConnection(ConnectionStringTextBox.Text.Trim()))
{
try
{
connection.Open();
MessageBox.Show("Connected successfully!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
...
在客户端设备上使用相同的代码来运行桌面应用程序,连接成功。
我已经设置了UWP应用程序以使用Windows 10版本1809。
客户端和我的开发机都是版本2004。
Package.appxmanifest
文件中勾选了以下功能:
- 企业级身份验证
- Internet(客户端和服务器)
- Internet(仅限客户端)
- 专用网络(客户端和服务器)
Windows防火墙已打开正确的端口。 在SSMS中,我启用了允许远程连接,并启用了TCP。
我不知道我做错了什么或出了什么问题。 这个同样的UWP应用程序在我的开发机上运行得很好。
感谢任何建议。
ConnectionStringTextBox.Text.Trim()
中存储的值吗?这个值是什么?当你尝试从运行UWP应用程序的同一台机器上的SSMS连接到该服务器/实例名称时会发生什么?提示:这可能与应用程序特定的问题无关,当然也不是Windows版本的问题。 - Aaron BertrandData Source=myMachineName,49172\SQLEXPRESS; Initial Catalog=TestDb; User Id=myId; Password=123456;
我也尝试了不同的端口号... - Andrew Chang