Power Automate Desktop中含%字符的SQL连接字符串报错求助
Power Automate Desktop ODBC连接含
%字符密码的语法错误解决 问题描述
在Power Automate Desktop(PAD)中使用Open SQL Connection操作建立ODBC SQL连接时,因密码包含%字符出现语法错误。原始连接字符串:
Provider=MSDASQL;Password=%SQLpassword%;Persist Security Info=True;User ID=%ID%;Data Source=LocalHost;Initial Catalog=LocalHost
已尝试无效方法
- 用
{}包裹密码:Password={%SQLpassword%},仍报语法错误 - 用
%%转义%:Password=%%SQLpassword%%,连接身份验证失败 - 变量存储密码后引用:PAD自动在
%前添加引号,密码变为"%SQLpassword%",破坏验证
重要前提
- 使用ODBC连接方式
- 在ODBC管理器中使用相同密码可正常连接
- 无数据库密码修改权限,必须使用原始密码
有效解决方案
方案1:用~转义连接字符串中的%
PAD中对%的转义符是~,将密码里的每个%替换为~%即可。例如密码为MyPass%123,连接字符串写成:
Provider=MSDASQL;Password=MyPass~%123;Persist Security Info=True;User ID=MyUser;Data Source=LocalHost;Initial Catalog=LocalHost
方案2:通过PAD变量插入功能引用密码
- 创建字符串变量(如
var_SQLPassword),直接赋值为带%的原始密码(无需手动转义) - 在
Open SQL Connection操作的连接字符串输入框中,删除手动输入的密码部分,点击输入框右侧的{x}按钮,选择已创建的var_SQLPassword变量插入 - PAD会自动处理变量中的特殊字符,生成正确的连接字符串,不会添加多余引号
两种方法均能绕过%字符的语法冲突,实现正常ODBC连接。
内容的提问来源于stack exchange,提问作者João Victor Matriz
相关产品推荐
相关产品推荐

