You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否用Windows本地SQL Server为安卓端.NET MAUI应用提供数据?

.NET MAUI安卓端连接Windows本地SQL Server的问题解决

核心问题分析

  • 身份验证不兼容:Trusted_Connection=True依赖Windows本地/域账户验证机制,安卓系统没有对应的环境,所以在安卓设备上无法通过这种方式完成认证。
  • 网络连通性障碍:安卓模拟器或实体机需要能访问到Windows机器上SQL Server开放的49172端口,防火墙拦截、网络不在同一网段都会导致连接失败。

解决方案步骤

1. 替换身份验证方式

改用SQL Server身份验证:

  • 先在SQL Server中创建一个SQL登录账户,给它分配Gym数据库的读写权限。
  • 修改连接字符串为SQL身份验证模式:
//In the data context
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder.UseSqlServer("Server=10.56.231.242,49172; Database=Gym;User ID=你的SQL登录名;Password=你的登录密码;TrustServerCertificate=True;");
}

注:TrustServerCertificate=True用于绕过SSL证书验证,仅适合测试环境,生产环境建议配置合法证书。

2. 打通网络连接

  • Windows防火墙配置:打开Windows Defender防火墙,添加一条入站规则,允许TCP协议的49172端口连接。
  • 安卓模拟器适配:如果用模拟器,尝试把主机IP换成10.0.2.2(这是安卓模拟器映射主机localhost的默认地址),或者确认模拟器网络和主机在同一网段。
  • 实体设备测试:确保安卓设备和Windows机器连接在同一个WiFi下,可在设备浏览器中访问http://10.56.231.242验证基础连通性。

3. 更优实践推荐

直接让移动端连接SQL Server并非最佳方案,建议增加中间层:

  • 用ASP.NET Core搭建Web API,封装所有对SQL Server的操作逻辑。
  • MAUI安卓端通过HTTP请求调用API来获取或提交数据。
    这种方式既能避免直接暴露数据库凭证,也更适配移动端的网络特性,后续功能扩展也更灵活。

内容的提问来源于stack exchange,提问作者SETH BARRERE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 06:51:17