diff --git a/src/modules/app.provider.ts b/src/modules/app.provider.ts index e888267..f3e9a60 100644 --- a/src/modules/app.provider.ts +++ b/src/modules/app.provider.ts @@ -35,6 +35,17 @@ BI.provider('dec.connection.provider.datebase', function() { }; } + // 处理SAP HANA数据连接url + const sapHanaUrl = url.match(/^jdbc:(sap):(thin:([0-9a-zA-Z/]*)?@|thin:([0-9a-zA-Z/]*)?@\/\/|\/\/|)([0-9a-zA-Z_\\.-]+)(:([0-9|port]+))?([^]+)?(.*)/i); + if (sapHanaUrl) { + return { + host: sapHanaUrl[5], + port: sapHanaUrl[7] === 'port' ? '' : sapHanaUrl[7], + databaseName: '', + urlInfo: sapHanaUrl[9], + }; + } + // 处理oracle的RAC方式 if (/^jdbc:oracle:thin:([0-9a-zA-Z/]*)?@\(DESCRIPTION/i.test(url)) { const host = url.match(/\(HOST\s*=\s*([0-9a-zA-Z_\\.-]+)\)/i);