Oracle Virtual Box中部署ASP.NET Core Web API连接主机SQL Server失败求助
解决方案
- 调整连接字符串的服务器地址:Windows主机上使用的
localhost或.在Linux虚拟机中无法指向主机,必须替换为Windows主机在VirtualBox网络环境中的实际局域网IP。你可以在Windows主机上执行ipconfig命令查看本地IP(格式通常为192.168.x.x),将连接字符串中的服务器地址修改为该IP,示例:Server=192.168.1.100,1433;Database=YourDB;User Id=xxx;Password=xxx; - 确认VirtualBox网络模式:若当前用的是NAT模式,虚拟机大概率无法直接访问主机IP,建议切换为桥接模式,让虚拟机与主机处于同一局域网段;如果必须用NAT,需在VirtualBox的端口转发设置中,将主机的1433端口映射到虚拟机的1433端口,但桥接模式的配置更直接。
- 验证网络连通性:在Linux终端执行
ping 主机IP,如果无法ping通,先排查VirtualBox的网络配置是否正确,同时确认Windows主机防火墙未限制虚拟机IP的访问(即使其他机器能访问,也要排除主机防火墙针对虚拟机IP的拦截规则)。 - 检查SQL Server监听配置:在SQL Server配置管理器中,打开TCP/IP的属性面板,确认
IPAll项的TCP端口为1433,且未仅绑定127.0.0.1,需确保SQL Server监听主机的局域网IP或所有可用IP。 - 测试端口连通性:在Linux中执行
nc -zv 主机IP 1433(若未安装nc可先执行sudo yum install nc),或telnet 主机IP 1433,如果命令返回无法连通,说明网络层面存在阻塞,需先解决端口可达性问题再调试应用连接。
内容的提问来源于stack exchange,提问作者Kirsten
相关产品推荐
相关产品推荐

