nodejs如何连接oracle模式的oceanbase

oceanBase数据库信息如下:
集群名:jqm
租户名:zhm
租户类型:oracle
用户名:name
密码:pwd
ip地址:XXX.XXX.1.19
port:2883
根据以上信息,如何用nodejs连接此数据库。

1 个赞

怎么连接的MySQL就怎么连接OB,不过你是oracle租户的话必须用OB的驱动而已
还有就是用户名的格式为 ,用户@租户#集群

1 个赞

可以试试

步骤:使用 Node.js 连接 Oracle 模式的 OceanBase

  1. 安装 Node.js Oracle 驱动

npm install oracledb

 oracledb 模块需要安装 Oracle Instant Client。如果你未安装,请参考:
Oracle Node.js Installation Guide
  1. 编写连接代码

假设你的连接信息如下:

Host: XXX.XXX.1.19

Port: 2883

User: name

Password: pwd

Service/SID: 通常 OceanBase Oracle 模式使用租户名作为服务名 → zhm

const oracledb = require(‘oracledb’);

async function connectToOB() {
try {
const connection = await oracledb.getConnection({
user: ‘name’,
password: ‘pwd’,
connectString: ‘XXX.XXX.1.19:2883/zhm’
});

console.log(' Connected to OceanBase (Oracle mode)');

const result = await connection.execute(`SELECT * FROM dual`);
console.log(result.rows);

await connection.close();

} catch (err) {
console.error(’ Connection failed:’, err);
}
}

connectToOB();

注意事项

connectString 的格式:

host:port/service_name

对于 OceanBase Oracle 模式,service_name 一般就是租户名(如 zhm),但具体取决于 OBProxy 和配置方式。

确认服务是否开启:
确保租户 zhm 正常运行,并允许你通过 IP 地址访问。

端口通不通?
测试端口连通性:

telnet XXX.XXX.1.19 2883

使用 OBProxy 的话:
如果集群配置了 OBProxy,建议通过 OBProxy 地址访问。

1 个赞

@论坛小助手

您好,您提的这个技术问题可能牵涉到 OceanBase 企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:

  1. 如你所在的企业客户已签署 OceanBase 企业版销售合同,请你联系客户经理;

  2. 如你所在的企业客户尚未签署 OceanBase 企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。

另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。