【发布时间】:2020-01-15 03:24:06
【问题描述】:
我创建了一个 API 并希望将数据插入到 oracle 数据库中。但是我收到一条错误消息“错误:ORA-01036:非法变量名称/编号”。我不知道我犯了什么错误。希望能帮我解决这个问题。提前谢谢你。
[错误:ORA-01036:非法变量名/编号] { 错误编号: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`
})
【问题讨论】:
-
堆栈跟踪的其余部分在哪里?它将有一个行号。简要阅读您的代码,
date = new Date();中的日期也未定义。 -
@BlueWater86 我添加了行号,日期也显示值:2020-01-15T03:31:08.486Z
-
那不是行号。
-
你还没有声明你的“日期”变量。
-
VALUES SQL 子句的 ":entryOperator:entryDate" 有错别字,你少了一个逗号。
标签: javascript oracle node-oracledb