INNER CODE UNIT · TypeScript
OracleDSNParser
bytebase/dbhub · src/connectors/oracle/index.ts:45
export class OracleDSNParser implements DSNParser {
async parse(dsn: string, config?: ConnectorConfig): Promise<OracleConnectionConfig> {
if (!this.isValidDSN(dsn)) {
throw new Error(
`Invalid Oracle DSN format.\nProvided: ${obfuscateDSNPassword(dsn)}\nExpected: ${this.getSampleDSN()}`
);
}
try {
const url = new SafeURL(dsn);
let sslmode: string | undefined;
let sid: string | undefined;
url.forEachSearchParam((value, key) => {
if (key === "sslmode") {
sslmode = value;
} else if (key === "sid") {
sid = value;