我有一个dash(flask)应用程序,在Azure应用程序服务上运行,我请求用户输入,然后他们单击“提交”,我的代码运行SQL查询。它几乎一直工作,但有时查询无法连接(通信链路故障)。当我重新启动应用程序服务时,它会再次开始工作
有没有办法利用Try&;Exception子句尝试并重新建立SQL连接还是什么?如果我想尝试并实现这种逻辑,我的代码会是什么样子?我正在努力找出正确的方法来编写它的语法
@dash_app.callback(
Output('hidden-dataframe', 'children'),
[Input('submit-button', 'n_clicks')],
[State('company-dropdown', 'value')])
def select_company(n_clicks, value):
if value is None:
raise PreventUpdate
else:
x = value
if n_clicks:
from datetime import datetime, timedelta
start_date = (datetime.today() - timedelta(29)).strftime('%Y-%m-%d')
end_date = datetime.today().strftime('%Y-%m-%d')
cnxn = pyodbc.connect(driver='{OBDC Driver 17 for SQL Server}',host,database,trusted_connection,user,password)
query = f"SELECT data FROM table WHERE ..."
df = pd.read_sql_query(query, cnxn)
return df.to_json(date_format='iso', orient='split')
以下是连接失败时得到的错误代码:
要在重新连接时重试一次,请更换
与
这在azure应用程序服务/烧瓶中对我有效。但是,直接使用光标,而不是熊猫,因此要处理的特定错误可能会有所不同
相关问题 更多 >
编程相关推荐