当前位置: 首页 > 知识库问答 >
问题:

错误:ORA-01036:非法变量名称/编号-NodeJS

宋原
2023-03-14

我已经创建了一个API,希望将数据插入oracle数据库。但我收到一条错误消息“error:ORA-01036:非法变量名/编号”。我不知道我犯了什么错误。希望能帮我解决这个问题。先谢谢你。

[错误:ORA-01036:非法变量名/编号]{errorNum:1036,偏移量:0}

//post 
async function AddData(form){

     console.log(form);

     let Status = {
          status:_const.MSG_STATUS_ERROR,
          message:_const.MSG_STATUS_ERROR,
          info:null
     };


     let connection;
     let date = new Date();

     try{
          connection = await oracledb.getConnection(dbconfig);

          const result = await connection.execute(
               `INSERT INTO EIS_PANTAURUM 
               (    
                    PAN_ZONRUMPUT,PAN_TAMRUMPUT,PAN_BULANPTAU,PAN_MASAPNTAU,
                    PAN_STATUSKOD,PAN_CATATANSS,PAN_SEBLUMPIC,PAN_SLEPASPIC,
                    PAN_SEMASAPIC,PAN_ENTRYOPER,PAN_ENTRYDATE,PAN_TIMESAMPM,
                    PAN_PUSINGANS,PAN_TAHUNRPUT
               )
               VALUES
               (    :zon,:taman,:bulan,:masa,
                    :status,:catatan,:sebelumPic,:selepasPic,
                    :semasaPic,:entryOperator:entryDate,:timeAMPM,
                    :pusingan,:tahun
               )`,{zon:form.zon,taman:form.taman,bulan:form.bulan,masa:form.masa
                    ,status:form.status,catatan:form.catatan,sebelumPic:"Empty.jpg",selepasPic:"Empty.jpg"
                    ,semasaPic:"Empty.jpg",entryOperator:form.entryOperator,entryDate:date,timeAMPM:form.timeAMPM
                    ,pusingan:form.pusingan,tahun:form.tahun}
          );

          Status.status = _const.MSG_STATUS_SUCCESS;
          Status.message = _const.MSG_STATUS_SUCCESS;
          Status.info = result.rowsAffected;     


     }catch(err){
          console.error(err);
          Status.message = err;
          return Status;

     }finally{
          if(connection){
               try{
                    await connection.close();
               }catch(err){
                    console.error(err);
                    Status.message = err;
                    return Status;
               }
          }
     }

     return Status;

}

router.post('/api/AddData/:zon/:syarikat/:alamat_syarikat/'+
          ':nama_penyelia/:taman/:bulan/:tahun/:masa/:timeAMPM/:pusingan/:status/:catatan/:state/'+
          ':entryOperator',(req,res) =>{

     AddData(req.params).then(function(value){
          console.log(value);
          res.send(value);
     })`enter code here`
})

共有1个答案

施永宁
2023-03-14

我相信这句话少了一个逗号

:entryOperator:entryDate

这里必须是下面的

:entryOperator,:entryDate

我建议您在每个逗号后使用空格。这样的习惯可以帮助你避免那样的错误

 类似资料:
  • 为什么在Oracle DB中出现此错误? cx_Oracle。ORA-01036:非法变量名称/数字

  • 请帮帮我 获取日期范围的数据时出错 错误 ora-01036非法变量名称/编号

  • 我有下面的insert查询 每次我尝试运行此查询时,都会出现此错误 我做了一些研究,显然这意味着其中一个变量不在SQL语句中。对我来说不是这样,我检查了语句、数据库(oracle)表和所有绑定变量,它们都匹配。 错误上的行号将表明它是$driveable变量。我做了一个检查,这是被发送到页面罚款。 不知道还有什么地方可以看,所以任何帮助都会很好。

  • 我想更新gridview中的行的单元格。但我得到的错误是 ORA-01036:非法变量名称/编号 在 下面是我的代码:-

  • 我面临的问题,在更新表单视图值使用sqldatasSource绑定与Oracle数据库。 我的选择和插入事件工作正常,所有列和参数都正确。 但当我点击下面的更新按钮时,出现了错误: "ORA-01036:非法变量名称/数字" 以下是我在sqldatasource(与oracle绑定)中使用的更新命令: 我的问题解决了,因为我没有使用主键来匹配在哪里条件,当我用主键更改在哪里条件时,它开始工作。 在

  • 我正在尝试使用oracledb客户端从nodejs对oracle数据库执行查询,并得到“ORA-01036:非法变量名/编号”。我尝试了多种建议的方法来传递我的变量,但失败了。使用硬代码值的查询。 以下是我的示例代码: 获取"ORA-01036:非法变量名称/数字"或空结果