support connect oracle via SID

This commit is contained in:
SPRINX0\prochazka
2024-09-02 10:46:43 +02:00
parent b87e53b704
commit 50583f928a
2 changed files with 34 additions and 2 deletions

View File

@@ -60,6 +60,7 @@ const driver = {
databaseUrl,
useDatabaseUrl,
serviceName,
serviceNameType,
ssl,
isReadOnly,
authType,
@@ -74,7 +75,15 @@ const driver = {
client = await oracledb.getConnection({
user,
password,
connectString: useDatabaseUrl ? databaseUrl : port ? `${server}:${port}/${serviceName}` : server,
connectString: useDatabaseUrl
? databaseUrl
: serviceName
? serviceNameType == 'sid'
? `(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=${server})(PORT=${
port || 1521
}))(CONNECT_DATA=(SID=${serviceName})))`
: `${server}:${port || 1521}/${serviceName}`
: `${server}:${port || 1521}`,
});
if (database) {
await client.execute(`ALTER SESSION SET CURRENT_SCHEMA = ${database}`);