Javascript 使用OracleDB更改Knex.js上的权限?

Javascript 使用OracleDB更改Knex.js上的权限?,javascript,node.js,oracle,knex.js,node-oracledb,Javascript,Node.js,Oracle,Knex.js,Node Oracledb,我试图将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配置: cons

我试图将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
})


提前感谢您对此事的任何帮助。

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

尝试像这样使用它:
权限:“SYSDBA”,…dbconfig
原因错误说明它应该是
SYSDBA
SYSOPER
-似乎
oracledb
对象没有
SYSDBA
字段。感谢您的回复,oracledb确实有SYSDBA,实际上您可以在使用oracledb.getConnection({privilege:oracledb.SYSDBA})时传递它但我不知道如何将它传递给Knex.js。顺便说一句,我已经找到了解决问题的方法,只是在数据库中添加了一个新用户,并停止使用sys。