From fbdbc663b99d22b0d74a150d81bc452afb9bd55d Mon Sep 17 00:00:00 2001 From: junjun Date: Fri, 8 May 2026 16:31:27 +0800 Subject: [PATCH] fix: Fix the data source-related issues in the PR --- backend/apps/db/db.py | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/backend/apps/db/db.py b/backend/apps/db/db.py index e526943f..b87ff789 100644 --- a/backend/apps/db/db.py +++ b/backend/apps/db/db.py @@ -256,21 +256,17 @@ def check_connection(trans: Optional[Trans], ds: CoreDatasource | AssistantOutDs raise HTTPException(status_code=500, detail=trans('i18n_ds_invalid') + f': {e.args}') return False elif equals_ignore_case(ds.type, 'hive'): - try: - conn = hive.connect(host=conf.host, port=conf.port, username=conf.username, - database=conf.database, **extra_config_dict) - cursor = conn.cursor() - cursor.execute('select 1') - cursor.fetchall() - cursor.close() - conn.close() - SQLBotLogUtil.info("success") - return True - except Exception as e: - SQLBotLogUtil.error(f"Datasource {ds.id} connection failed: {e}") - if is_raise: - raise HTTPException(status_code=500, detail=trans('i18n_ds_invalid') + f': {e.args}') - return False + with hive.connect(host=conf.host, port=conf.port, username=conf.username, + database=conf.database, **extra_config_dict) as conn, conn.cursor() as cursor: + try: + cursor.execute('select 1') + SQLBotLogUtil.info("success") + return True + except Exception as e: + SQLBotLogUtil.error(f"Datasource {ds.id} connection failed: {e}") + if is_raise: + raise HTTPException(status_code=500, detail=trans('i18n_ds_invalid') + f': {e.args}') + return False elif equals_ignore_case(ds.type, 'es'): es_conn = get_es_connect(conf)