diff --git a/backend/framework/src/main/java/org/jumpserver/chen/framework/console/QueryConsole.java b/backend/framework/src/main/java/org/jumpserver/chen/framework/console/QueryConsole.java index 127f1c2..aa728cb 100644 --- a/backend/framework/src/main/java/org/jumpserver/chen/framework/console/QueryConsole.java +++ b/backend/framework/src/main/java/org/jumpserver/chen/framework/console/QueryConsole.java @@ -83,17 +83,18 @@ public void onConnect(Connect connect) { try { var currentContext = this.getSqlActuator().getCurrentSchema(); - - if (StringUtils.isEmpty(context)) { - context = currentContext; - } - - if (currentContext != null && !currentContext.equals(context)) { + if (StringUtils.isEmpty(currentContext) && !StringUtils.isEmpty(context)) { this.getSqlActuator().changeSchema(context); + this.getState().setCurrentContext(context); + } else { + if (!StringUtils.isEmpty(context) && !currentContext.equals(context)) { + this.getSqlActuator().changeSchema(context); + this.getState().setCurrentContext(context); + } } + var schemas = this.getSqlActuator().getSchemas(); this.getState().setContexts(schemas); - this.getState().setCurrentContext(context); } catch (SQLException e) { this.getConsoleLogger().error(MessageUtils.get("msg.error.connect_error") + ": %s", e.getMessage());