数据库
首页 > 数据库> > 我可以使用Zend_Db_Adapter_Pdo_Mssql设置查询超时吗?

我可以使用Zend_Db_Adapter_Pdo_Mssql设置查询超时吗?

作者:互联网

我们有一个PHP应用程序(托管在Linux上),该应用程序使用Zend Framework组件查询Microsoft SQL Server 2008数据库. PHP应用程序托管在具有可靠Internet连接的数据中心中,但是SQL Server数据库位于VPN连接的末端,该连接定期退出.

我们的问题是,在对SQL Server进行查询时,有时会发生VPN中断.发生这种情况时,我们的应用程序可能要等待2个小时才能最终引发以下异常:

SQLSTATE[HY000]: General error: 20004 Read from the server failed [20004] (severity 9) [(null)]

我想做的是将整个查询超时和/或读取超时设置为2-3分钟左右,以便应用程序更早地获得异常并从中恢复,而不会阻塞2个小时.

我们正在使用pdo_dblib扩展名来连接到SQL Server,并且已经查看了php.net文档,但找不到用于php.ini的任何超时选项.

解决方法:

尝试使用PDO :: ATTR_TIMEOUT属性.我不确定pdo_dblib的默认值是什么,驱动程序之间可能会有所不同.

标签:zend-db,php,sql-server,pdo
来源: https://codeday.me/bug/20191030/1971386.html