当将MySQL ODBC驱动程序8.0与MySQL Server 5.7一起使用时,服务器似乎无法识别MULTI_STATEMENTS标志,并在准备多语句时报告此错误:
[MySQL] [ODBC 5.3(w)驱动程序] [mysqld-5.7.12]您的SQL语法错误; 检查与您的MySQL服务器版本相对应的手册 在'INSERT IGNORE INTO NODE_ID_DICT(NODE_ID,NODE_ID_INDEX)'附近使用正确的语法
使用的连接字符串为DSN=perfDsn;DATABASE=TEST;OPTION=67108864;
,该选项对应于MULTI_STATEMENTS的数字标志。我也尝试了MULTI_STATEMENTS = 1,CLIENT_MULTI_STATEMENTS = 1和FLAG_MULTI_STATEMENTS = 1,但无济于事。
我使用MySQL C API测试了相同的查询,同时传递了CLIENT_MULTI_STATEMENTS标志,使我相信ODBC连接器没有正确传递该标志。
该查询在ODBC连接器5.1和MySQL Server 5.1上运行良好。任何帮助表示赞赏。