Electron应用远程连接SQL Server问题求助
解决办法
核心问题说明
你碰到的问题本质有两个:一是对方电脑里的PC指向的是他们自己的本地主机,根本不是你的SQL Server所在机器;二是默认SQL Server只允许本地连接,外部设备连不上。
具体操作步骤
1. 替换连接字符串里的服务器地址
把tedious配置里的server: 'PC'换成你机器的实际IPv4地址(比如192.168.3.12),别再用PC这个本地名称了。
- 查自己IP的方法:Win+R输
cmd,敲ipconfig,找「以太网适配器」或「WLAN」下的IPv4地址。 - 示例配置:
const config = { server: '192.168.3.12', // 换成你的IP authentication: { type: 'default', options: { userName: '你的SQL账号', password: '你的密码' } }, options: { database: '你的数据库名', encrypt: false, // 局域网内关加密省麻烦 trustServerCertificate: true // 避免证书验证报错 } };
2. 开启SQL Server的远程连接权限
- 打开
SQL Server 配置管理器,找到「SQL Server网络配置」→你的实例(比如SQLEXPRESS),启用TCP/IP协议。 - 双击
TCP/IP,切到「IP地址」标签,拉到最下面的IPAll,把TCP端口设为1433,然后重启SQL Server服务(服务里找SQL Server (你的实例名)右键重启)。 - 打开SSMS,右键你的服务器→「属性」→「连接」,勾选「允许远程连接到此服务器」。
3. 防火墙开端口
- 打开Windows防火墙→「高级设置」→「入站规则」→「新建规则」。
- 选「端口」→下一步,输入
1433(TCP)→允许连接→勾选「专用」(局域网用)→命名规则比如「SQL远程连接」。
4. 先测通网络
让对方在cmd里敲ping 你的IP,能通说明网络没问题;再敲telnet 你的IP 1433,能连上说明端口开好了。
额外提醒
- 要是你机器是动态IP,每次重启可能变,局域网内直接给当前IP就行;外网的话得用动态域名工具,但估计你是给局域网内的人用。
- 确保用的是SQL Server身份验证的账号,Windows身份验证对方用不了。
内容的提问来源于stack exchange,提问作者MrB
相关产品推荐
相关产品推荐

