如何在.NET Framework项目中连接Azure SQL数据库?连接失败求助
.NET Framework连接Azure SQL失败的解决办法
先解决连接字符串的冲突问题
你的连接字符串里同时启用了Integrated Security=true(Windows身份验证)和uid/password(SQL身份验证),这两者不能同时使用,必须二选一:
用SQL身份验证(Azure SQL最常用方式)
移除Integrated Security=true,注意用户名格式必须是{用户名}@{服务器名}(比如你的服务器是testdbserver.database.windows.net,用户名就得是admin@testdbserver),修正后的配置:
<connectionStrings> <add name="Context" connectionString="Data Source=你的服务器地址.database.windows.net;Initial Catalog=TestDB;uid=你的用户名@你的服务器名;Password=你的密码;" providerName="System.Data.SqlClient" /> </connectionStrings>
用Windows身份验证(仅限Azure AD集成场景)
如果要走Windows身份验证,移除uid和Password参数,同时需确保你的电脑已加入Azure AD,且账号拥有数据库访问权限:
<connectionStrings> <add name="Context" connectionString="Data Source=你的服务器地址.database.windows.net;Integrated Security=true;Initial Catalog=TestDB;" providerName="System.Data.SqlClient" /> </connectionStrings>
还要检查这几个关键配置
- 确认Azure SQL服务器的防火墙规则已允许你的本地IP访问:登录Azure门户找到目标SQL服务器,进入「防火墙和虚拟网络」页面,添加当前机器的公网IP。
- 核对服务器地址是否正确:
Data Source后的地址必须是完整的xxxx.database.windows.net,不要带多余空格。 - 检查SQL账号权限:确保你使用的账号拥有
TestDB数据库的访问权限(比如分配db_datareader、db_datawriter角色)。
内容的提问来源于stack exchange,提问作者Tarık Hamarat
相关产品推荐
相关产品推荐

