我正在使用mssql和node。 我调用一个函数来连接数据库:
const sql = require('mssql')
async () => {
try {
const pool = await sql.connect(`mssql://${process.env.DATAUSER}:${process.env.DATAPASS}@${process.env.SERVER}`)
} catch(err) {
console.log(err)
}
}
当我在localhost上但在将其托管到heroku并添加env变量后,这可以很好地工作。我得到的错误是(我将IP地址更改为5):
ConnectionError: Failed to connect to 55.5.5.555:1433 in 15000ms
我的process.env.SERVER = 55.5.5.555/SpecificDatabase,如果那意味着什么
答案 0 :(得分:0)
在此代码中没有看到对您的特定数据库或架构的任何引用。就用户定向到的默认模式或数据库而言,数据服务器的本地实现可能与heroku实现不同。因此,您可能需要在连接调用中添加数据库或架构字段。
例如,我连接到OSU服务器的池代码是:
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 10,
host : 'classmysql.engr.oregonstate.edu',
user : 'username',
password : 'password',
database : 'database_name',
multipleStatements: true
});
module.exports.pool = pool;
尽管我的实现是使用mysql而不是mssql进行的,但可以肯定的是,您需要显式命名特定的数据库或架构。