本次操作是在已经成功配置node的前提下进行操作,如需要配置node适配dm请参考摘要里的链接
1、照常在联网的平台进行dmdb包的安装,本次以linux平台做为已联网的操作平台,执行以下命令安装dmdb包
npm install dmdb
2、安装好后,可以去查看下node_modules是否存在dmdb的包和相依赖的包,然后使用node test.js验证下是否可以连接达梦数据库。
test.js脚本如下:
// 引入 dmdb 包
var db = require('dmdb');
var fs = require('fs');
var pool, conn;
var http = require('http');
async function example() {
try {
pool = await createPool();
conn = await getConnection();
await queryWithResultSet();
} catch (err) {
console.log(err);
} finally {
try {
await conn.close();
await pool.close();
} catch (err) {}
}
}
example();
/* 创建连接池 */
async function createPool() {
try {
return db.createPool({
connectString: "dm://SYSDBA:SYSDBA@localhost:5236?autoCommit=false",
poolMax: 10,
poolMin: 1
});
} catch (err) {
throw new Error("createPool error: " + err.message);
}
}
/* 获取数据库连接 */
async function getConnection() {
try {
return pool.getConnection();
} catch (err) {
throw new Error("getConnection error: " + err.message);
}
}
/* 查询产品信息表 */
async function queryWithResultSet() {
try {
var sql = "SELECT top 1 * FROM v$dm_ini";
var result = await conn.execute(sql, [], { resultSet: true });
var resultSet = result.resultSet;
// 从结果集中获取一行
result = await resultSet.getRow();
while (result) {
console.log(result);
result = await resultSet.getRow();
}
} catch (err) {
throw new Error("queryWithResultSet error: " + err.message);
}
}
记得将以上脚本里的连接数据库的ip地址和端口根据实际情况进行修改。
3、通过以下命令在联网端查看到cache所在目录
npm config get cache
截图如下
4、直接将.npm打包到脱机的FT平台上,执行以下命令进行安装
npm install --cache .npm --optional --cache-min 99999999999 --shrinkwrap false dmdb
注意cache后面的.npm可以根据拷过来重命名的名称进行填写,比如将联网的.npm拿到脱机的FT平台上时,将文件夹重命成了npm_cache,则可以使用以下命令进行离线安装
npm install --cache npm_cache --optional --cache-min 99999999999 --shrinkwrap false dmdb
安装成功的图片如下:
上图中,省去了中间一部分warn的日志没有截图。
5、使用步骤2中的方法验证是否已经成功安装dmdb包
文章
阅读量
获赞