Строка соединения oracledb nodejs с использованием SSH-туннелирования и открытого закрытого ключа - PullRequest
0 голосов
/ 09 октября 2019

Я пытаюсь подключиться к базе данных оракула, которая использует SSH и ключ .pem для подключения. До сих пор я пробовал много вещей, и единственный способ подключиться к нему - использовать PUTTY (локально для обработки SSH-туннелирования и включая ключ pem) для подключения.

Это хорошо для целей разработки, но когда я хочу развернуть приложение в каком-то месте и получить данные, будет проблема. Есть ли способ подключиться к нему, используя строку дескриптора подключения, которая включает в себя исходный адрес и адрес прокси, который используется для подключения.

В настоящее время моя конфигурация:

USER: process.env.BANNER_USER || 'username',
PASSWORD: process.env.BANNER_PASSWORD || 'the_password',
CONNECTION_STRING: process.env.BANNER_CONNECTION_STRING || '(DESCRIPTION =(ADDRESS = (PROTOCOL = tcp)(HOST = localhost)(PORT = <port>))(CONNECT_DATA =(SID = <sid>)))',

И вот где я называю мои вышеуказанные переменные конфигурации:

async createPool() {
    return await oracle.createPool({
        user: config.BANNER_CONNECTION.USER,
        password: config.BANNER_CONNECTION.PASSWORD,
        connectionString: config.BANNER_CONNECTION.CONNECTION_STRING,
        poolIncrement: config.BANNER_CONNECTION.POOL_INCREMENT,
        poolMax: config.BANNER_CONNECTION.POOL_MAX,
        poolMin: config.BANNER_CONNECTION.POOL_MIN,
        outFormat: config.BANNER_CONNECTION.OUT_FORMAT
    });
},
async bannerConn() {
    try {
        const connection = await this.createPool();
            return await connection.getConnection();
    }
        catch(e) { return e }
},

Вышеуказанная конфигурация плюс включение ключа PEM в PUTTY идобавление переадресации портов SSH туннелирование работает нормально, как показано в этой статье .

Любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...