别以为sqlserver默认的端口总是1433
案例
有台sqlserver2008 express服务器,刚安装,支持混合模式登录,其它什么配置也没改。
先看用ADO连接
这说明:
- 案例中sqlserver端口不是1433 !!!
- ADO连接时如果不明确指定端口号,不代表内部实现是按1433端口去访问的😂
- 端口号不是1433时,不带端口号反而能连通!!!💡
再看jdbc连接
这说明:
- sqlserver服务的端口号肯定不是1433 !!!
- jdbc没那么牛掰,不像ado那样能通过不带端口号连通😂
检查sqlserver的端口号
那么,有必要看看sqlserver的端口号到底是多少
如果【全部侦听】=是,则sqlserver服务的端口号在【IP地址】页签的【IPAll】下的【TCP动态端口】处
可见,默认安装的sqlserver express,的默认端口号根本不是1433。本案例中分配的动态端口是6119
验证
下面测测本案例中的sqlserver服务是否真的能通过端口61199连通
ADO君表示:端口真的是61199
jdbc君表示:不带端口号我玩不转,但端口真的是61199
至此,61199可以通,确认无疑。
那么,当端口号是1433时,jdbc能不带端口号吗?
试验继续,先把sqlserver服务的端口号改成1433,重启下服务
再测测ado和jdbc连接的效果
ado,nice!
jdbc,不能省略端口号,就算是1433,也必须给老子带着!
总结
- 不是所有sqlserver按默认安装后的服务端口号都是1433
- ado连sqlserver时要么别带端口号,要带就请带上正确的端口号
- jdbc连sqlserver必须带上端口号