2017-10-24 13 views
0

私は自分のプロジェクトをherokuにプッシュし、jawsdbとアプリケーションを接続しようとしました。私はserver.jsにjawsdbの情報を入力し、それを更新してherokuにプッシュしました。しかし、私はこのerorrを取得しており、アプリケーションはロードされません。私はそれが私がデータベースを設定する方法と関係があると思う。JAWSDBとHerokuとの接続エラー

私は、次のエラー "アクセスがユーザーのために拒否された" 受け付けております:

https://ibb.co/giRO5m

を、これは私のコードです:

var express = require('express'); 
var bodyParser = require('body-parser'); 
var mysql = require('mysql'); 
var logger = require('morgan'); 
var request = require('request'); 
var cheerio = require('cheerio'); 
var methodOverride = require('method-override') 
var fs = require("fs"); 
var hbs = require('hbs'); 
// Set up Express 
var app = express(); 
var router = express.Router(); 

//handlebars 
var handlebars = require('express-handlebars').create({defaultLayout:'main'}); 
app.engine('handlebars', handlebars.engine); 
app.set('view engine', 'handlebars'); 
// override with POST having ?_method=DELETE 
app.use(methodOverride('_method')) 


// Set up Mysql 
var con = mysql.createConnection({ 

    host: "t89yihg12rw77y6f.cbetxkdyhwsb.us-east-1.rds.amazonaws.com", 
    port: 3306, 
    user: "swvr0i1j9ny720mk", 
    password: "e3lzkqag4dmeqhup" 
}); 

//conecting to mysql 
con.connect(function(err) { 
    if (err) throw err; 
    console.log("Database connected to the matrix.."); 
}); 

con.query('CREATE DATABASE IF NOT EXISTS warehouse', function (err) { 
    if (err) throw err; 
    con.query('USE warehouse', function (err) { 
     if (err) throw err; 
     con.query('CREATE TABLE IF NOT EXISTS storage(' 
      + 'id INT NOT NULL AUTO_INCREMENT,' 
      + 'PRIMARY KEY(id),' 
      + 'link VARCHAR(255),' 
      + 'item VARCHAR(255),' 
      + 'stock VARCHAR(255)' 
      + ')', function (err) { 
       if (err) throw err; 
      }); 
    }); 
}); 

// Parse application/x-www-form-urlencoded 
app.use(logger('dev')); 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 


// Serve static content for the app from the "public" directory in the application directory. 
app.use(express.static(__dirname + '/public')); 


//prints database to page 
app.get('/index', function(req,res) { 

    con.query('SELECT * FROM storage;', function(err, data) { 
     if (err) throw err; 

     //test it 
     //console.log('The solution is: ', data); 

     //test it 
     //res.send(data); 

     res.render('index', {storage : data}); 
    }); 
}); 

//delete data entry 
app.delete('/delete', function(req,res){ 
    con.query('DELETE FROM storage WHERE id = ?', [req.body.id], function(err, result) { 
     if (err) throw err; 
     res.redirect('/index'); 
    }); 
}); 

// Open Server 
app.listen(process.env.PORT || 3000, function(){ 
    console.log("Express server listening on port %d in %s mode", this.address().port, app.settings.env); 
}); 

答えて

0

server.js JawsDBは、データベース名を選択することはできません。または新しいデータベース名を作成します。代わりに、ワークベンチ・ツールを使用して接続し、与えられたデータベース名を確認する必要があります(たとえば、自分のデータベース名JawsDBが割り当てられていることを以下に示します)。

default schema by JawsDB

次に、あなたが名前の1の代わりにあなたのコードでは、このデータベースを使用する「倉庫。」たとえば、私の名前のスキーマJawsDBでこれを行う場合は、「jdjkhrjps1cgj89h」を使用します。

con.query('USE jdjkhrjps1cgj89h', function (err) { 
    if (err) throw err; 
    con.query('CREATE TABLE IF NOT EXISTS storage(' 
     + 'id INT NOT NULL AUTO_INCREMENT,' 
     + 'PRIMARY KEY(id),' 
     + 'link VARCHAR(255),' 
     + 'item VARCHAR(255),' 
     + 'stock VARCHAR(255)' 
     + ')', function (err) { 
      if (err) throw err; 
     }); 
}); 
関連する問題