Connect NodeJs to Oracle DB



你好,我是一个初学者在nodejs,我想连接到远程oracle数据库。

代码如下:

const express = require('express')
const oracledb = require('oracledb')
const app = express()
const port = 3000
oracledb.getConnection(
{
user          : "xxx",
password      : "xxx",
connectString : "(tns names connection string)))"
},
oracledb.connExecute
)


app.get('/', (req, res) => {
if(connExecute == true) {
console.log("Conexiune reusita");

} else {
console.log("Conexiune esuata");
}
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})

当我在cmd中输入命令节点index.js时,我得到这个错误:

Example app listening on port 3000
node:internal/process/task_queues:96
runMicrotasks();
^
Error: NJS-009: invalid number of parameters
at processTicksAndRejections (node:internal/process/task_queues:96:5)
我已经用npm安装了oracledb。你能告诉我我做错了什么或给我和工作的例子。由于

在调用getConnection函数时错过了等待同步调用。由于连接到数据库需要一些时间,因此这一行下面的代码执行时不等待连接建立。

同样,您可以简单地使用configs向getConnection()函数传递一个连接参数。

直接删除getConnection的第二个参数

const connection = await oracledb.getConnection(
{
user          : "xxx",
password      : "xxx",
connectString : "(tns names connection string)))"
}
);
if (connection) {
console.log("Successfully connected to DB!");
}

app.get('/', (req, res) => {
if(connection) {
console.log("Conexiune reusita");

} else {
console.log("Conexiune esuata");
}
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})

或者

正如Matt在评论中建议的,你也可以使用

oracledb.getConnection(
{
user          : "xxx",
password      : "xxx",
connectString : "(tns names connection string)))"
}
).then((connection) => {
if (connection) {
console.log("Successfully connected to DB!");
}
}).catch((err) => {console.log(`Conexiune esuata! ${err}`);})

相关内容

  • 没有找到相关文章