Невозможно создать соединение с mysql в electronicjs, и отображается сообщение об ошибке "ER_ACCESS_DENIED_ERROR" - PullRequest
0 голосов
/ 05 апреля 2019

Я написал класс фабрики баз данных, который будет обрабатывать операции связывания базы данных в приложении

Поскольку я импортирую его в процессе рендеринга (некоторые abc.html) под тегом script, он не подключается к mysql и показывает ошибки "ER_ACCESS_DENIED_ERROR "

КЛАСС БАЗЫ ДАННЫХ

var mysql = require('mysql');

class Database{

constructor(dbconfig) {
    this.dbconfig = dbconfig;

    this.connection = this.createConnection(this.dbconfig);
}

createConnection(databaseConfig){
    return mysql.createConnection({
        databaseConfig
    });
}

openConnection() {
    this.connection.connect(function (err) {
        if (err) { // in case of error
            console.log(err.code);
            console.log(err.fatal);
            return false;
        }
        return true; // for successfull connection
    });
}

onConnectionError() {
    return {error: "Unable to make the connection to database"}
}

closeConnection() {
    this.connection.end(function () {
        console.log("Database connecion closed");
    });
}

execute(query) {
    this.connection.connect(function (err) {
        if (err) { // in case of error
            console.log(err.code);
            console.log(err.fatal);
            return onConnectionError();
        }
        return this.makeQuery(query); // for successfull connection
    });
}

makeQuery(query) {
    this.connection.query(query, function(err, rows, fields) {
        if(err){
            console.log("An error ocurred performing the query.");
            console.log(err);
            return false;
        }

        console.log("Query succesfully executed", rows);
        return rows;
    });
}
}

module.exports = Database;

index.html

<body>
    <h1>Mysql test connection</h1>
</body>

<script>
    var config = require('./configuration_loader');
    var DatabaseFactory = require('./database_factory');

    var dbFactory = new DatabaseFactory(config.database);

    var query = "SELECT * FROM `users`";
    var result = dbFactory.execute(query);

    console.log(result);
</script>

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