首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误: NJS-003:无效连接节点-oracledb

错误: NJS-003:无效连接节点-oracledb
EN

Stack Overflow用户
提问于 2020-02-03 04:31:51
回答 1查看 3.8K关注 0票数 0

我想将数据插入数据库。但是我不想使用autocommit:true,因为我希望确保另一个进程能够首先完成。但收到了一条错误消息。我不知道我犯了什么错误。希望能帮助我解决这个问题。提前谢谢你。

(C:\Users\user\Documents\GitHub\EIS-API\node_modules\oracledb\lib\connection.js:239:16) (节点:2372) UnhandledPromiseRejectionWarning: UnhandledPromiseRejectionWarning:错误: NJS-003: Connection.commit上的无效连接,在C:\Users\user\Documents\GitHub\EIS-API\node_modules\oracledb\lib\util.js:202:16的新承诺()在Connection.commit ()(C:\user\user\Documents\GitHub\EIS)-API\node_modules\oracledb\lib\util.js:190:14) at PostPemantauanPerkidmatanPotongRumputKonsesi (C:\Users\user\Documents\GitHub\EIS-API\routes\konsesi\konsesi.js:416:28) (节点:2372) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误起源于在异步函数中抛出而不带catch块,或者拒绝使用.catch()处理的承诺。(拒绝id: 1) (节点:2372) DEP0018 DeprecationWarning:未处理的承诺拒绝被取消。在未来,承诺不处理的拒绝将使用非零退出代码终止Node.js进程。

代码语言:javascript
复制
 //want to check if file exists or not
               var filename1 = typeof files[0] === "undefined" ? "" : files[0].originalname; 
               var filename2 = typeof files[1] === "undefined" ? "" : files[1].originalname;
               var filename3 = typeof files[2] === "undefined" ? "" : files[2].originalname;
               var filename4 = typeof files[3] === "undefined" ? "" : files[3].originalname;


               let date = new Date();
               let connection2;
               try{
                    connection2 = await oracledb.getConnection(dbconfig);
                         // add information with image
                    const result = await connection2.execute(
                         `
                        INSERT INTO EIS.KON_KONRUMPUT
                        (
                             KON_ZONRUMPUT,KON_PAKEJKODS,KON_TAMANIDSS,KON_NAMATAMAN,
                             KON_JALANIDSS,KON_NAMAJALAN, KON_ADDRSYRKT,KON_SELIANAME,
                             KON_PTAUDATES,KON_BULANPTAU,KON_MASAPNTAU,KON_PUSINGANS,
                             KON_TIMESAMPM,KON_STATUSKOD,KON_CATATANSS,KON_TAHUNRPUT,
                             KON_ENTRYOPER,KON_ENTRYDATE,KON_STATUSFLG,
                             KON_GAMBAR111,KON_GAMBAR222,KON_GAMBAR333,KON_GAMBAR444
                         )
                         VALUES
                         ( :zon , :pakejKod , :tamanId , :tamanName , 
                           :jalanId , :jalanName , :alamat_syarikat ,:nama_penyelia , 
                           :tarikhPantau , :bulan , :masa , :pusingan , 
                           :timeAMPM , :status , :catatan , :tahun , 
                           :entryOperator , :tarikhPantau , :platform,
                           :gambar111 , :gambar222 , :gambar333 , :gambar444
                         )
                         `,{
                              zon:{val:params.zon} , pakejKod:{val:params.pakejKod} , tamanId:{val:params.tamanId} , tamanName:{val:params.tamanName},
                              jalanId:{val:params.jalanId} , jalanName:{val:params.jalanName} , alamat_syarikat:{val:_const.optionalParams(params.alamat_syarikat)} , nama_penyelia:{val:params.nama_penyelia},
                              tarikhPantau:{val:params.tarikhPantau} , bulan:{val:params.bulan}, masa:{val:params.masa} , pusingan:{val:params.pusingan},
                              timeAMPM:{val:params.timeAMPM} , status:{val:params.status} , catatan:{val:_const.optionalParams(params.catatan)} , tahun:{val:params.tahun},
                              entryOperator:{val:params.entryOperator} , tarikhPantau:{val:date},platform:{val:"A"},
                              gambar111:{val:filename1} , gambar222:{val:filename2} , gambar333:{val:filename3} , gambar444:{val:filename4}

                         }
                         );

                         Status.status = _const.MSG_STATUS_SUCCESS;
                         Status.message = "Data berjaya simpan..";
                         Status.info = result.rowsAffected;               

                    // send image to another server
                    files.forEach(image => {

                         var formData = {
                              image: fs.createReadStream("picture/" + image.originalname),
                            };

                             var data = request.post({url:'http://localhost/upload_file/', formData: formData}, async function(err, httpResponse, body) {
                              if(httpResponse.statusCode != 200){

                                   Status.message = err;

                                   //delete image
                                   var deleteImage = !isDeleteImage(files);

                                   //failed delete image
                                   if(!deleteImage.isSuccess){
                                        Status.message = deleteImage.message; 
                                   }
                                   return Status;               
                               }else{

                               }                             
                         });

                    });


               }catch(err){
                    console.error(err);
                    Status.message = err;
               }finally{
                    try{
                         await connection2.close();
                    }catch(err){
                         console.error(err);
                         Status.message = err;
                    }
               }
              //commit
               connection2.commit();
EN

回答 1

Stack Overflow用户

发布于 2020-02-03 21:22:03

通过快速检查,您的finally块将在到达提交之前关闭连接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60033116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档