Error: ORA-01036: illegal variable name/number - NodeJS
Error: ORA-01036: illegal variable name/number - NodeJS
我创建了一个 API 并想将数据插入到 oracle 数据库中。但是我收到一个错误信息"Error: ORA-01036: illegal variable name/number"。我不知道我犯了什么错误。希望能帮我解决这个问题。提前谢谢你。
[Error: ORA-01036: illegal variable name/number] {
errorNum: 1036,
offset: 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`
})
我认为
中少了一个逗号
:entryOperator:entryDate
这里必须是下面的
:entryOperator,:entryDate
我建议您在每个逗号后使用空格。这样的习惯可以帮助你避免那样的错误
我创建了一个 API 并想将数据插入到 oracle 数据库中。但是我收到一个错误信息"Error: ORA-01036: illegal variable name/number"。我不知道我犯了什么错误。希望能帮我解决这个问题。提前谢谢你。
[Error: ORA-01036: illegal variable name/number] { errorNum: 1036, offset: 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`
})
我认为
中少了一个逗号:entryOperator:entryDate
这里必须是下面的
:entryOperator,:entryDate
我建议您在每个逗号后使用空格。这样的习惯可以帮助你避免那样的错误