Соединить таблицу из двух разных БД в Nodejs - PullRequest
0 голосов
/ 14 апреля 2020

Я хочу делать соединения на столе из двух DBS.

Что я сделал?

var mysql      = require('mysql');


var poolCluster = mysql.createPoolCluster();
var configDB=require('../config');
let config={};
config['settlement']={...configDB['settlementDB']};

config['vch']={...configDB['vchSystemDB']};

poolCluster.add('settlement', config['settlement']); // add a named configuration
poolCluster.add('vch', config['vch']);

let query="SELECT * from settlement.VoucherAndSettlementDetails  VoucherAndSettlementDetails JOIN vch.voucher voucher on VoucherAndSettlementDetails.voucherId = voucher.vchid  "


poolCluster.getConnection(function (err, connection) {
    if(err) console.log("error poll connection",err);
    connection.query(query, function (error, results, fields) {
        console.log("fields ",fields)
        console.log("results ",results)
        if (error){
            console.log('error is ',error);
            return;
        }
    });

});

Я получаю следующее сообщение об ошибке:

code: 'ER_NO_SUCH_TABLE',
errno: 1146,
sqlMessage: "Table 'vch.voucher' doesn't exist"

Может ли кто-нибудь помочь мне сделать это? Я не понимаю, какой запрос объекта соединения должен быть выполнен.

1 Ответ

0 голосов
/ 14 апреля 2020

Попробуйте использовать полное имя базы данных

SELECT * from settlementDB.VoucherAndSettlementDetails VoucherAndSettlementDetails JOIN vchSystemDB.voucher voucher on VoucherAndSettlementDetails.voucherId = voucher.vchid

...