我正在做一个项目,在这个项目中,我需要通过OpenEdge进程驱动程序使用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中的变量名称和/或选项号有什么想法吗?没人用这玩意..。
谢谢
发布于 2012-04-20 03:09:44
您可以直接使用SQL脚本设置超时。
当前连接的:
SET PRO_CONNECT QUERY_TIMEOUT n ; 正在运行的数据库的:
SET PRO_SERVER QUERY_TIMEOUT n ;http://documentation.progress.com/output/OpenEdge102b/pdfs/dmsrf/dmsrf.pdf第58页
但可能认识你的人;)
发布于 2012-04-19 09:54:48
您是否尝试过使用ADOdb而不是使用原生php odbc支持?
https://stackoverflow.com/questions/10217396
复制相似问题