任何人都可以请指教:
我有一个在 azure 上运行的现有 nodejs 服务器,在 Linux 上运行节点 10.14。项目代码在 github 上,当我推送更改时,它们会自动推送到 azure。
我已经通过 Azure 门户设置了数据库服务器和数据库,并且可以通过 Azure 门户进行查询。
我想修改 nodejs 服务器以连接到数据库,我有连接字符串代码等,但只是添加行的行为:
var mysql = require('mysql');
将停止运行服务器表单,因为大概我没有在 Azure 云中运行服务器的机器上安装 mysql。
我怎样才能让它发挥作用?
感谢您的帮助,米奇。
根据报错,你没有在你的package.json
文件中添加包,而是在你的项目中安装了包。此外,如果您想连接 Azure SQL 服务器数据库,我们可以使用包mssqql
例如
package.json
档案{
....
"dependencies": {
"express": "^4.17.1",
"mssql": "^6.2.0",
"request": "^2.88.2"
}
}
const router = express.Router()
const sql = require('mssql')
const config = {
user: "<user name>",
password: "<password>",
server: "<your SQL server name>.database.windows.net",
port: 1433,
database: "test",
connectionTimeout: 3000,
parseJSON: true,
options: {
encrypt: true,
enableArithAbort: true
},
pool: {
min: 0,
idleTimeoutMillis: 3000
}
};
const pool = new sql.ConnectionPool(config);
const poolConnect = pool.connect();
router.get('/', async function (req, res) {
await poolConnect;
try {
const request = pool.request();
const result = await request.query('select 1 as number')
console.log(result);
res.json(result.recordset);
} catch (err) {
console.error('SQL error', err);
res.send(err);
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句