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