From e4aa0d3956b78a8440e94b309c1b2ec1654beeee Mon Sep 17 00:00:00 2001 From: zipg Date: Mon, 20 Jul 2026 11:34:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(jdbc):=20=E4=B8=BA=E7=BC=BA=E5=B0=91?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E7=9A=84=E8=87=AA=E5=AE=9A=E4=B9=89=E9=A9=B1?= =?UTF-8?q?=E5=8A=A8=E6=8F=90=E4=BE=9B=E5=AE=89=E8=A3=85=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../connection/ConnectionDialog.vue | 12 ++++++- apps/desktop/src/i18n/locales/en.ts | 3 +- apps/desktop/src/i18n/locales/es.ts | 1 + apps/desktop/src/i18n/locales/it.ts | 1 + apps/desktop/src/i18n/locales/ja.ts | 1 + apps/desktop/src/i18n/locales/pt-BR.ts | 1 + apps/desktop/src/i18n/locales/zh-CN.ts | 3 +- apps/desktop/src/i18n/locales/zh-TW.ts | 1 + .../__tests__/connectionErrorHints.spec.ts | 34 ++++++++++++++++++- .../lib/connection/connectionErrorHints.ts | 17 ++++++++-- 10 files changed, 68 insertions(+), 6 deletions(-) diff --git a/apps/desktop/src/components/connection/ConnectionDialog.vue b/apps/desktop/src/components/connection/ConnectionDialog.vue index 4b4b7efc8e..e0cbc5ea06 100644 --- a/apps/desktop/src/components/connection/ConnectionDialog.vue +++ b/apps/desktop/src/components/connection/ConnectionDialog.vue @@ -44,7 +44,7 @@ import { prestoSqlBuiltinDriverPaths } from "@/lib/database/prestoSqlBuiltinDriv import { JDBCX_DEFAULT_URL, JDBCX_DRIVER_PROFILE, JDBCX_JDBC_DRIVER_CLASS, ensureJdbcxRuntimeDrivers, isJdbcxRuntimeBundle, isJdbcxRuntimePath, jdbcxHighPrivilegeExtensionsEnabled, setJdbcxHighPrivilegeExtensionsEnabled } from "@/lib/database/jdbcxBuiltinDriver"; import { SQLITE_DATABASE_FILE_EXTENSIONS } from "@/lib/database/databaseFileDetection"; import { connectionAttemptOriginalErrorMessage, connectionAttemptTimeoutMessage, connectionAttemptTimeoutMs } from "@/lib/connection/connectionAttemptTimeout"; -import { appendConnectionErrorHints } from "@/lib/connection/connectionErrorHints"; +import { appendConnectionErrorHints, isJdbcMissingRuntimeDependencyError } from "@/lib/connection/connectionErrorHints"; import { postgresTlsModeForForm } from "@/lib/connection/postgresTlsMode"; import { normalizeKafkaBootstrapServers } from "@/lib/connection/kafkaBootstrapServers"; import { detectMqUiAuthKind, isMqAuthKindAllowedForSystem, type MqUiAuthKind } from "@/lib/connection/mqAuth"; @@ -438,6 +438,7 @@ function sshLayersForConfig(config: LegacyConnectionConfig): SshTunnelConfig[] { } const form = ref(defaultForm()); +const showJdbcDependencyDriverManagerAction = computed(() => form.value.db_type === "jdbc" && isJdbcMissingRuntimeDependencyError(connectionErrorDetail.value)); function externalConfigRecord(value: unknown): Record { return value && typeof value === "object" && !Array.isArray(value) ? { ...(value as Record) } : {}; @@ -3390,6 +3391,11 @@ async function copyConnectionErrorDetail() { } } +function openJdbcDriverManagerFromError() { + showConnectionErrorDialog.value = false; + emit("openDriverStore", { target: "tab", tab: "jdbc" }); +} + function resetForm() { editingId.value = null; form.value = defaultForm(); @@ -6107,6 +6113,10 @@ function openExternalUrl(url: string) { +