Fabric Lakehouse通过Python+pyodbc连接报08001错误求助
解决Python连接Fabric Lakehouse时的08001错误
针对你遇到的连接错误,直接给你几个关键修复点和排查方向:
移除冲突的身份验证参数
你的连接字符串里同时写了Authentication=ActiveDirectoryPassword和Trusted_Connection=yes,这两个参数互斥。用AD密码认证时必须删掉Trusted_Connection=yes,否则会优先走Windows集成认证,导致连接逻辑混乱。修正Server变量的语法错误
代码里server = 'tcp:myserver.database.windows.net'.末尾多了个句号,这会导致字符串拼接出错,必须删掉这个多余的句号。确认Fabric SQL端点格式正确
Fabric Lakehouse的SQL端点标准格式是tcp:<workspace-id>.datawarehouse.fabric.microsoft.com,1433,如果你的myserver.database.windows.net是错误地址,直接会导致找不到服务器。可以去Fabric Lakehouse的「SQL endpoint」页面复制正确的端点地址。检查网络与驱动
确保本地已正确安装ODBC Driver 17 for SQL Server,同时测试你的公网IP能访问Fabric端点的1433端口(比如用telnet <你的端点地址> 1433测试),还要确认Fabric workspace的防火墙设置里已添加你的IP白名单。
修正后的示例代码
server = 'tcp:your-correct-fabric-endpoint.datawarehouse.fabric.microsoft.com,1433' database = 'mydb' username = 'your-full-upn@domain.com' # 注意用完整用户主体名称 pass1 = 'xxxx' auth = 'ActiveDirectoryPassword' cnxn = pyodbc.connect( f'DRIVER={{ODBC Driver 17 for SQL Server}};SERVER={server};DATABASE={database};' f'Authentication={auth};UID={username};PWD={pass1};ENCRYPT=yes' ) cursor = cnxn.cursor()
内容的提问来源于stack exchange,提问作者ROY
相关产品推荐
相关产品推荐

