Python连接MSSQL:应使用哪个IP和端口?本地与公网IP差异解析
IP地址差异的解释
- 192.x.x.x是内网私有IP:这是你的设备在局域网内的专属地址,由路由器分配,仅能在当前局域网范围内被访问,属于IANA规定的私有IP段(还包括10.x.x.x、172.16.x.x-172.31.x.x)。SQL Server绑定这个IP,意味着它默认仅对内网提供服务。
- 193.x.x.x是公网IP:这是你的家庭/办公网络对外暴露的唯一地址,由运营商分配。互联网上的设备需要通过这个地址才能找到你的网络,但直接用它无法访问内网里的SQL Server——必须在路由器上配置端口映射,把SQL Server的默认端口(1433)转发到你的内网IP
192.x.x.x上,外部设备才能通过公网IP访问。
易懂的MSSQL Server入门教程推荐
- 微软官方《SQL Server 入门》:从安装配置、基础SQL语法到数据库管理,内容全面且步骤严谨,官方文档的权威性和准确性拉满,适合零基础起步。
- 《SQL Server 2022从入门到精通》:侧重实操落地,用大量案例拆解数据库创建、数据查询、权限管理等核心操作,新手能快速跟着上手。
- 技术社区入门专栏:很多国内技术平台有博主整理的图文教程,涵盖环境搭建、Python连接数据库等实操场景,讲解直白,适合边学边练。
Python连接MSSQL的实操提示
如果是在局域网内连接(比如本地电脑访问或同局域网设备互联),直接使用内网IP192.x.x.x即可,推荐用pyodbc库实现连接,示例代码如下:
import pyodbc # 配置连接参数 conn_str = ( "DRIVER={ODBC Driver 17 for SQL Server};" "SERVER=192.x.x.x\\SQLEXPRESS;" # 注意替换为你的内网IP和SQL实例名 "DATABASE=YourDatabaseName;" # 替换为目标数据库名 "UID=YourUsername;" # 替换为SQL登录用户名 "PWD=YourPassword;" # 替换为登录密码 ) # 建立连接并执行查询 with pyodbc.connect(conn_str) as conn: with conn.cursor() as cursor: cursor.execute("SELECT TOP 5 * FROM YourTableName") # 替换为你的表名 for row in cursor.fetchall(): print(row)
内容的提问来源于stack exchange,提问作者Twisted
相关产品推荐
相关产品推荐

