通过 PHP ODBC OpenEdge 进度驱动程序设置查询超时时间



我正在做一个项目,我需要通过OpenEdge Progress驱动程序使用PHP ODBC方法查询数据库。 我需要一种方法来设置 MySQL 查询的超时,使其比默认设置(如果有的话)短得多。

我尝试使用"odbc_setoption($stmt, 2, 0, 30)",如下面的示例语句所示...

  $stmt = odbc_prepare($this->odbc, $query);
  odbc_setoption($stmt, 2, 0, 30);//Set query timeout to 30 seconds.
  return odbc_execute($stmt);

但这失败了,因为不支持"0"作为查询超时选项。 我不知道这个数字,我尝试了一切,包括尝试在我的数据库连接DSN字符串和注册表中设置它。 关于 PHP 中的变量名称和/或选项编号的任何想法? 没有人使用这个东西...

谢谢

您可以使用

SQL脚本直接设置超时。

对于当前连接:

SET PRO_CONNECT QUERY_TIMEOUT n ; 

对于正在运行的数据库:

SET PRO_SERVER QUERY_TIMEOUT n ;

http://documentation.progress.com/output/OpenEdge102b/pdfs/dmsrf/dmsrf.pdf第 58 页

但那可能知道你;)

您是否尝试使用 ADOdb 而不是使用本机 php odbc 支持?

最新更新