diff --git a/packages/api/src/proc/connectProcess.js b/packages/api/src/proc/connectProcess.js index 0b6990ef0..6d375c596 100644 --- a/packages/api/src/proc/connectProcess.js +++ b/packages/api/src/proc/connectProcess.js @@ -4,6 +4,8 @@ const { connectUtility } = require('../utility/connectUtility'); const { handleProcessCommunication } = require('../utility/processComm'); const { pickSafeConnectionInfo } = require('../utility/crypting'); const _ = require('lodash'); +const { getLogger, extractErrorLogData } = require('dbgate-tools'); +const logger = getLogger('connectProcess'); const formatErrorDetail = (e, connection) => `${e.stack} @@ -23,12 +25,22 @@ function start() { try { const driver = requireEngineDriver(connection); const dbhan = await connectUtility(driver, connection, 'app'); - const res = await driver.getVersion(dbhan); + let version = { + version: 'Unknown', + }; + try { + version = await driver.getVersion(dbhan); + } catch (err) { + logger.error(extractErrorLogData(err), 'Error getting DB server version'); + version = { + version: 'Unknown', + }; + } let databases = undefined; if (requestDbList) { databases = await driver.listDatabases(dbhan); } - process.send({ msgtype: 'connected', ...res, databases }); + process.send({ msgtype: 'connected', ...version, databases }); await driver.close(dbhan); } catch (e) { console.error(e); diff --git a/packages/api/src/proc/databaseConnectionProcess.js b/packages/api/src/proc/databaseConnectionProcess.js index 03d386d73..e795af414 100644 --- a/packages/api/src/proc/databaseConnectionProcess.js +++ b/packages/api/src/proc/databaseConnectionProcess.js @@ -120,10 +120,15 @@ function setStatusName(name) { async function readVersion() { const driver = requireEngineDriver(storedConnection); - const version = await driver.getVersion(dbhan); - logger.debug(`Got server version: ${version.version}`); - process.send({ msgtype: 'version', version }); - serverVersion = version; + try { + const version = await driver.getVersion(dbhan); + logger.debug(`Got server version: ${version.version}`); + serverVersion = version; + } catch (err) { + logger.error(extractErrorLogData(err), 'Error getting DB server version'); + serverVersion = { version: 'Unknown' }; + } + process.send({ msgtype: 'version', version: serverVersion }); } async function handleConnect({ connection, structure, globalSettings }) { diff --git a/packages/api/src/proc/serverConnectionProcess.js b/packages/api/src/proc/serverConnectionProcess.js index 0e41dbfeb..aeab7d368 100644 --- a/packages/api/src/proc/serverConnectionProcess.js +++ b/packages/api/src/proc/serverConnectionProcess.js @@ -46,7 +46,13 @@ async function handleRefresh() { async function readVersion() { const driver = requireEngineDriver(storedConnection); - const version = await driver.getVersion(dbhan); + let version; + try { + version = await driver.getVersion(dbhan); + } catch (err) { + logger.error(extractErrorLogData(err), 'Error getting DB server version'); + version = { version: 'Unknown' }; + } process.send({ msgtype: 'version', version }); }