我正在查询一个会返回大量数据并需要超过1分钟才能完成的视图。
我正在使用django.db.connection.cursor()执行查询,因为这不是我的默认数据库。 30秒后,我收到一个异常'查询超时已过期'。我认为30秒是django-mssql的默认超时。有没有办法增加超时时间或有其他方法。
无法处理SQL查询,因为它是由另一方实施的。只露出一个视图。
str(Exception)
是"( - 2147352567,'发生异常。',(0,u'用于SQL Server的Microsoft OLE DB提供程序',u' ;查询超时已过期',无,0,-2147217871),无)"
答案 0 :(得分:5)
您可以在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,
}
}