Azure Managed SQL通过ODBC链接服务器连接MySQL报错问题咨询
问题解答
报错核心原因
Azure SQL 托管实例(Azure SQL MI)属于平台即服务(PaaS)产品,用户无权限操作底层托管服务器的系统配置、安装任何第三方驱动。目前Azure SQL MI的预装驱动列表中不包含MySQL ODBC驱动,因此你直接在托管实例中创建指向MySQL的ODBC链接服务器时,必然会触发「驱动未安装或数据源不存在」的报错,和你本地的ODBC配置无关。
部署Azure VM的说法准确性
该说法完全准确。要实现通过链接服务器访问MySQL的需求,你需要按以下逻辑部署中转方案:
- 部署一台Azure VM,在VM上安装SQL Server(IaaS模式),你将拥有这台VM的完整管理员权限
- 在VM操作系统中安装对应版本的MySQL ODBC驱动,配置好ODBC数据源
- 在VM上的SQL Server实例中创建指向MySQL的链接服务器,验证连通性正常
- 再在你的Azure SQL托管实例和VM上的SQL Server之间创建链接服务器,通过中转的方式实现托管实例访问MySQL的数据
本地PC配置ODBC DSN连接MySQL的操作步骤
你本地配置的DSN仅可用于本地应用、工具的连接,无法同步到Azure SQL MI的底层服务器,具体配置方法如下:
- 下载匹配本地系统位数(32位/64位)的MySQL ODBC驱动安装包,提前安装对应版本的VC++运行库避免安装报错
- 按指引完成驱动安装后,打开对应位数的ODBC数据源管理器:
- 64位驱动打开
C:\Windows\System32\odbcad32.exe - 32位驱动打开
C:\Windows\SysWOW64\odbcad32.exe
- 64位驱动打开
- 切换到「用户DSN」或「系统DSN」标签页,点击「添加」,在驱动列表中选中刚安装的MySQL ODBC驱动,点击「完成」
- 在弹出的配置窗口中填写自定义DSN名称、MySQL服务器地址、端口、登录用户名、密码、默认连接的数据库,点击「测试」确认连接正常后保存即可。
内容的提问来源于stack exchange,提问作者michaelascend
相关产品推荐
相关产品推荐

