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

时间:2012-04-18 20:25:27

标签: php sql odbc openedge progress-db

我正在开展一个项目,我需要通过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中变量名和/或选项号的任何想法?没人用这个东西......

由于

2 个答案:

答案 0 :(得分:2)

您可以使用SQL脚本直接设置超时。

当前连接的

SET PRO_CONNECT QUERY_TIMEOUT n ; 
数据库的

直到运行:

SET PRO_SERVER QUERY_TIMEOUT n ;

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

但那可能知道你;)

答案 1 :(得分:0)

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