首页 > 解决方案 > 使用 OracleDB 更改 Knex.js 的权限?

问题描述

我正在尝试将 knex.js 与 oracledb 一起使用,但在每个查询中我都会收到以下错误:

Error: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
{
  errorNum: 28009,
  offset: 0,
  originalStack: 'Error: ORA-28009: connection as SYS should be as SYSDBA or SYSOPER'
}

这是我的 Knex.js 配置:


const dbconfig = {
    user:               process.env.DB_USERNAME,
    password:           process.env.DB_PASSWORD,
    connectString:      process.env.DB_LINK
}

const knex = require('knex')({
    client: 'oracledb',
    native: false,
    connection: { privilege: oracledb.SYSDBA, ...dbconfig },
    fetchAsString: [ 'number', 'clob' ],
    asyncStackTraces: true,
    acquireConnectionTimeout: 10000
})

预先感谢您对此事的任何帮助。

标签: javascriptnode.jsoracleknex.jsnode-oracledb

解决方案


问题与使用用户“sys”有关,我刚刚创建了一个具有正确权限的新用户,它工作正常。


推荐阅读