注册
node未连接互联网的环境安装dmdb包
专栏/Database Thinking/ 文章详情 /

node未连接互联网的环境安装dmdb包

胡li 2022/10/27 1985 2 0
摘要 配置连接请参考下以博客 https://eco.dameng.com/community/article/31d4cd9b6777d90adb4af3ca15851e3a 以下内容介绍如何在脱机环境离线安装dmdb包

本次操作是在已经成功配置node的前提下进行操作,如需要配置node适配dm请参考摘要里的链接

1、照常在联网的平台进行dmdb包的安装,本次以linux平台做为已联网的操作平台,执行以下命令安装dmdb包

npm install dmdb

2、安装好后,可以去查看下node_modules是否存在dmdb的包和相依赖的包,然后使用node test.js验证下是否可以连接达梦数据库。
image.png

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

截图如下
image.png

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

安装成功的图片如下:
image.png
上图中,省去了中间一部分warn的日志没有截图。

5、使用步骤2中的方法验证是否已经成功安装dmdb包
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服