pb操作mysql报告用户.max函数不存在

ckc 2010-06-22 08:56:52
pb8,mysql5,odbc连接

执行以下语句
select max(tlxh) into :tlxh from ykjl where zhm=:zhm;

结果出错,错误内容如下
SQLSTATE = 37000
[MySQL][ODBC 5.1 Driver][mysqld-5.0.32-Debian_7etch8-log]FUNCTION tl.max does not exist

tl是我连接mysql的用户名,类似的语句
select max(tlxh) from ykjl where zhm='test';
在pb的数据库的isql中输入此语句执行正常得到结果。

有没有人知道这是怎么回事啊,我也不知道是pb的问题还是mysql的问题还是odbc驱动的问题,odbc驱动用的是官方的。
...全文
189 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gui41021 2010-06-22
  • 打赏
  • 举报
回复
装了ODBC驱动的话,Connector/odbc advanced Flags3下的勾选Ignore Space After Funtion Name 不就是楼主说的这个问题么
gui41021 2010-06-22
  • 打赏
  • 举报
回复
如果是ODBC连接 registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\" + 'mis' ,"option",regstring!,"4198464")

mis是ODBC数据源名称,4198464等价于'IGNORE_SPACE'模式

不过还是在改服务器设置 可能并不满足楼主要求
zb63668331 2010-06-22
  • 打赏
  • 举报
回复
试下
Execute immediate "set session sql_mode='IGNORE_SPACE'";
ckc 2010-06-22
  • 打赏
  • 举报
回复
找到原因了,需要设置sql_mode,
set session sql_mode='IGNORE_SPACE';
麻烦又来了,不知道pb怎么执行这个语句,我只好在服务器上设置global的sql_mode来解决。
谁能告诉我pb怎么执行set session sql_mode='IGNORE_SPACE';??
zb63668331 2010-06-22
  • 打赏
  • 举报
回复
select max(tlxh) from ykjl where zhm=''
你直接在MYSQL里赋值运行看行不行

1,077

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧