mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-30 12:43:58 +00:00
support connect oracle via SID
This commit is contained in:
@@ -142,7 +142,30 @@
|
|||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if driver?.showConnectionField('serviceName', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('serviceName', $values, showConnectionFieldArgs)}
|
||||||
<FormTextField label="Service name" name="serviceName" disabled={isConnected} />
|
<div class="row">
|
||||||
|
<div class="col-9 mr-1">
|
||||||
|
<FormTextField
|
||||||
|
label={$values.serviceNameType == 'sid' ? 'SID' : 'Service name'}
|
||||||
|
name="serviceName"
|
||||||
|
disabled={isConnected}
|
||||||
|
templateProps={{ noMargin: true }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="col-3">
|
||||||
|
<FormSelectField
|
||||||
|
label="Choose type"
|
||||||
|
isNative
|
||||||
|
name="serviceNameType"
|
||||||
|
defaultValue="serviceName"
|
||||||
|
disabled={isConnected}
|
||||||
|
templateProps={{ noMargin: true }}
|
||||||
|
options={[
|
||||||
|
{ value: 'serviceName', label: 'Service name' },
|
||||||
|
{ value: 'sid', label: 'SID' },
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if driver?.showConnectionField('socketPath', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('socketPath', $values, showConnectionFieldArgs)}
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ const driver = {
|
|||||||
databaseUrl,
|
databaseUrl,
|
||||||
useDatabaseUrl,
|
useDatabaseUrl,
|
||||||
serviceName,
|
serviceName,
|
||||||
|
serviceNameType,
|
||||||
ssl,
|
ssl,
|
||||||
isReadOnly,
|
isReadOnly,
|
||||||
authType,
|
authType,
|
||||||
@@ -74,7 +75,15 @@ const driver = {
|
|||||||
client = await oracledb.getConnection({
|
client = await oracledb.getConnection({
|
||||||
user,
|
user,
|
||||||
password,
|
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) {
|
if (database) {
|
||||||
await client.execute(`ALTER SESSION SET CURRENT_SCHEMA = ${database}`);
|
await client.execute(`ALTER SESSION SET CURRENT_SCHEMA = ${database}`);
|
||||||
|
|||||||
Reference in New Issue
Block a user