Подключение из IBM Cloud Functions к MySQL на локальном хосте - PullRequest
0 голосов
/ 24 апреля 2019

Я хочу подключиться к моей базе данных MySQL на локальном хосте, который не находится в IBM Cloud, с использованием функций IBM Cloud. Я не могу этого сделать.

Я написал код Node.js в IBM Cloud Function.

var mysql = require('mysql');
//,cn="server=localhost;port=3306;database=chatbot;uid=root;password=oracle1#;";
    var connection = mysql.createConnection({
      server: 'localhost',
      user: 'root',
      port:3306,
     password: 'my_password'
    });
function main(params) {
 try {
     //var connection=mysql.createConnection(cn);
    connection.connect();
    //var s = JSON.stringify(params['user_input']);
   //var v = s.substring(1,11);
   //var check= conn.querySync("select count(distinct PHONE_NUMBER)  where PHONE_NUMBER='"+v+"'");
   var rows = connection.query(
   "select * from chatbot.customer_data");
   //console.log(rows);
   connection.end();
    return{message:"TRUE:"+rows[0]['PHONE']};
 }
 catch (e) {
   return { message:"error" };
  //return{message:"FALSE"}; 
 }
}

Ожидаемый результат: TRUE: Resultset

Фактический результат: Ошибка

Ответы [ 2 ]

0 голосов
/ 14 мая 2019
var sql = require('mysql');

    var connection = sql.createConnection({
      host: 'host name',
    user: 'user name',
    password: 'passwprd',
    database: 'database_name'
    });
function main(params) {
 try {

    connection.connect();

   var sql="select * from table _name";

   connection.query(sql,function(err,result){
       return{message:result};
   })
   //console.log(rows);
   connection.end();

 }
 catch (e) {
   return { message:"error" };
  //return{message:"FALSE"}; 
 }
}
0 голосов
/ 26 апреля 2019

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

...