首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在FireDAC中错误的sha()函数与'!‘组合在一起字符

问在FireDAC中错误的sha()函数与'!‘组合在一起字符
EN

Stack Overflow用户
提问于 2014-10-13 04:49:18
回答 1查看 103关注 0票数 2

我使用的是Delphi XE4,FireDAC组件(V8.0.5.3365)和MySQL哈希函数sha()有问题。例如,当我在sha('testtest1!')服务器上的普通数据库工具中使用MySQL时,结果是

'd68c15248886d3eb551990298ab1f99db788365a‘

当我使用来自FireDAC TADQuery函数的相同哈希函数时,结果是:

'd41ff23e0e6147a8fd2722f68e53f993a92784b0‘

这种不同的输出只在散列字符串包含'!‘时发生,否则哈希字符串是相同的。我做错什么了吗??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-13 08:30:50

我在这里找到了答案:http://docwiki.embarcadero.com/Libraries/XE7/en/FireDAC.Stan.Option.TFDResourceOptions.MacroExpand

目标DBMS使用它自己的SQL方言中的'!‘、& '&’符号,FireDAC不能将它们识别为SQL结构,因此您必须进入TADQuery ResourceOptions并将MacroExpand设置为False,这样它才能工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26333047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档