直接执行自定义SQL时django-mssql中查询超时过期

2024-04-06

我正在查询一个视图,该视图将返回大量数据,并且需要 1 分钟以上才能完成。

我正在使用 django.db.connection.cursor() 执行查询,因为这不是我的默认数据库。 30 秒后,我收到异常“查询超时已过期”。我认为 30 秒是 django-mssql 的默认超时。有没有办法增加超时时间或有其他方法。

无法处理 SQL 查询,因为它是由另一方实现的。仅暴露视图。

str(Exception)是“(-2147352567,'发生异常。',(0,u'用于 SQL Server 的 Microsoft OLE DB 提供程序',u'查询超时已过期',无,0,-2147217871),无)”


您可以在 django 设置文件中的数据库配置中调整 COMMAND_TIMEOUT。使用 COMMAND_TIMEOUT 的示例:

DATABASES = {
'default': {
    'NAME': DATABASE_NAME,
    'ENGINE': 'sqlserver_ado',
    'HOST': DATABASE_HOST,
    'USER': DATABASE_USER,
    'PASSWORD': DATABASE_PASSWORD,
    'COMMAND_TIMEOUT': DATABASE_COMMAND_TIMEOUT,
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

直接执行自定义SQL时django-mssql中查询超时过期 的相关文章

随机推荐