在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1,问题缘起某个delphi程序使用odbc驱动,通过adoConnection连接mySQL数据库。 程序启动时,若数据库不存在则需要创建数据库及其中的表。 建表SQL在navicat中运行无误,但在delphi程序中运行出错: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'XX' at line 2,问题分析网上查资料得知,adoConnection连接mySQL数据库,默认只能运行一条SQL语句,不能执行多条语句。即使是将多条语句中的分隔符号(;)去掉也不行。 那么,如何让adoConnection支持一次运行多条SQL语句呢?网上提到如下解决方案:
但上述方法对使用adoConnection的delphi程序均不适用。 3,解决方案https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-configuration-connection-parameters.html 到上述mySQL的官网上查看 ODBC Connection Parameters 的设置, 其中option 有 MULTI_STATEMENTS设置选项 67108864。因此, ConnectionString := 'Driver={MySQL ODBC 5.1 Driver};Server=192.168.0.2;Port=3306;Database=pgis;User=root;Password=mysql;Option=3;'; 改为 ConnectionString := 'Driver={MySQL ODBC 5.1 Driver};Server=192.168.0.2;Port=3306;Database=pgis;User=root;Password=mysql;Option=67108864;';
再次运行程序,建库建表成功!
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论