如何在 windows上使用 Nodejs 连接远程 Oracle 数据库
这是 Oracle 提供的访问数据库的 C++接口, windows 64位在这里下载 Version 12.1.0.1.0 中的 instantclient-basic-windows.x64-12.1.0.1.0.zip
和 instantclient-sdk-windows.x64-12.1.0.1.0.zip
;
# 下载客户端压缩包
- 官方下载地址 (opens new window)(由于官方下载权限和网络问题,这里同样提供百度云下载链接: https://pan.baidu.com/s/1pSj2UJBiX_uy7liSnvpRVg (opens new window),提取码: swee。)
# 解压到本地某个文件夹下
下载完成后把它们解压到 D:\db\oracle\instantclient_12_2
文件夹中(可自定义目录), 由于两个 zip
中的文件各不相同, 所以合并到同一个文件夹也不会发生覆盖。
# Windows环境变量设置
在系统变量中添加
OCI_LIB_DIR=C:\oracle\instantclient_12_2\sdk\lib\msvc
OCI_INC_DIR=C:\oracle\instantclient_12_2\sdk\include
OCI_VERSION=12
1
2
3
2
3
在用户变量中的 path
中添加
C:\oracle\instantclient_12_2\vc14
C:\oracle\instantclient_12_2
1
2
2
环境变量配置成功后重启电脑即可。
# 安装 NodeJs 运行环境
进入官方 nodejs.org 下载 msi 安装包安装即可。
# 安装oracledb 测试
npm install oracledb --save
1
示例代码:
router.get('/', function (req, res, next) {
var oracledb = require('oracledb');
oracledb.getConnection(
{
user: 'username',
password: 'password',
connectString: '192.168.20.10:1521/ORCL'
},
function (err, connection) {
if (err) {
console.error(err.message);
return;
}
connection.execute(
"SELECT * from CMS_FIlE where content_id=:id",
[1072], // bind value for :id
function (err, result) {
if (err) {
console.error(err.message);
return;
}
res.render('index', {title: '查询信息:' + JSON.stringify(result.rows)});
});
});
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
如果安装oracledb
包不成功,请尝试重启电脑试一试(亲测)。
# 常见错误解决方案
错误信息,如下:
The specified procedure could not be found.
c:\xxx\oracledb.node
…
1
2
3
2
3
解决方案
服务器安装版本与环境变量的OCI_INC_DIR
、OCI_LIB_DIR
版本不符,设置版本为一致的即可,参照上面配置完成之后,删除之前下载的oracledb 模块,重新下载oracledb
模块(npm install oracledb
)即可。
上次更新: 2024/01/30, 00:35:17
- 01
- Node与GLIBC_2.27不兼容解决方案08-19
- 02
- Git清空本地文件跟踪缓存08-13