![](/img/trans.png)
[英]How to connect to SQL server database from a Windows 10 UWP app
[英]Cannot connect to SQL Server Express database from an UWP app
我有一个需要连接到 SQL Server Express 数据库的 UWP 应用程序。 在我的开发盒上,我没有任何问题。
在客户端 PC 上,我安装了 SQL Server Express,创建了数据库,设置了用户和登录名。
当我运行应用程序并尝试连接到数据库时,出现错误:
与 SQL 服务器建立连接时发生与网络相关或特定于实例的错误。
服务器未找到或无法访问。 验证实例名称是否正确,并且 SQL 服务器配置为允许远程连接。
(提供者:TCP 提供者,错误:40 - 无法打开与 SQL 服务器的连接)
我用来连接的代码是:
...
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
文件检查了以下功能:
Windows 防火墙打开了正确的端口。 在 SSMS 中,我启用了允许远程连接,启用了 TCP。
我不知道我做错了什么或出了什么问题。 同样的 UWP 应用程序在我的开发盒上运行良好。
任何建议表示赞赏。
如果您尝试连接到同一台机器上的 SQL 服务器实例,它将无法工作,因为UWP 应用程序已被沙盒化,无法通过 TCP/UDP 连接到 localhost - 而与远程机器的连接将成功。 我认为这很愚蠢,但这是设计使然。
作为一种解决方法,您可以将 SQL 服务器配置为使用共享 Memory 或命名管道,这些方法应该可以工作。
我忘了现在有一个功能可以添加到您的 AppX 清单中以启用本地环回连接(仅适用于 TCP, 它不适用于 UDP )。
您可以尝试此示例,了解如何在 uwp 应用程序中连接到 sql 服务器,并尝试在您的客户端 PC 上执行相同的步骤,希望它有效: httpsen///umicrosoft.com//数据访问/sql-server-databases#first-set-up-your-solution
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.