首先附上程式碼中一段↓,由於整體太長我並沒有全貼,只有貼主要我需要跑的一段。
bot.on('message', function(event) {
var myReply='';
if (event.message.text === '查詢') {
var sql = require("mssql");
// config for your database
var config = {
user:'sa',
password:'我的密碼',
server:'127.0.0.1',
port:'1433',
dialect:'mssql',
database:'test1',
options: {
truestedConnection: true,
instanceName:'MSSQLSERVER'
}
};
// connect to your database
sql.connect(config, function (err) {
if (err) console.log(err);
// create Request object
var request = new sql.Request();
// query to the database and get the records
request.query('select * from student', function (err, recordset) {
if (err) console.log(err)
// send records as a response
console.log(recordset);
sql.close()
});
});
}
if (event.message.type === 'sticker') {
myReply='你很幽默噢!!';
}
if (event.message.type === 'image') {
myReply='這照片好帥!';
}
event.reply(myReply).then(function(data) {
// success
console.log('訊息已傳送!');
}).catch(function(error) {
// error
console.log('error');
});
});
希望是我在Line上打"查詢",後臺就可以到資料庫(Student)抓我需要的資訊並回覆出來。
然後是push到heroku後得到的回應↓。
{ ConnectionError: Failed to connect to 127.0.0.1\MSSQLSERVER in 15000ms
...(中間省略)
2018-12-11T08:08:17.162161+00:00 app[web.1]: at process._tickCallback (internal/process/next_tick.js:68:7) code: 'ECONNCLOSED', name: 'ConnectionError' }
2018-12-11T08:08:17.162306+00:00 app[web.1]: undefined
我有使用過sql client去做外部連接,是沒有問題的(確定可以連上)
然後單獨的把var sql = require("mssql"); 到 sql.close() 這一段抓出來用CMD執行結果如下:
MSSQL裡頭的TCP/IP(Port:1433)以及SQL Server Browser都開了。
請求協助,我不知道還有哪邊沒調整到或是程式碼哪邊有問題。
拜託了,謝謝!