巨大的oracle插入语句卡住了

时间:2018-03-30 12:23:12

标签: c# oracle plsql

我正在尝试将多个XML文件中的数据添加到我的Oracle数据库中。我在.NET C#应用程序中收到数据,我正在使用Dapper作为ORM。

目前有13个XML文件需要添加到数据库中。我反序列化了所有这些并将它们转换为INSERT查询以添加到我的数据库中。

一切似乎都运行良好,除了在尝试将数据插入数据库31分钟后,我注意到以下错误:

  

ORA-00054:资源繁忙,并在指定NOWAIT或超时时获取   过期

经过一番搜索,我发现了这个解决方案:https://stackoverflow.com/a/11895078/2664414但这似乎是方式来讨厌这个“简单”的东西。 至于INSERT语句的详细信息,我为第二个INSERT添加了3271行。这是一个简短的片段:

INSERT ALL 
   INTO S1589_XML_LineSection (ID, VALID_FROM_DATE, VALID_TO_DATE, LINE_ID, CHANNEL_NO, TENSION, NATURE, P70, C70, P400, C400, OPERATIONAL_IMPORTANCE, TECHNICAL_EQUIPMENT, OPERATIONALISATION, STANDARD_SPEED_DIR_1, STANDARD_SPEED_DIR_2, LAST_UPDATE_DATE) VALUES ('1','1996-06-02','2005-12-10','404','0','1','1','0','0','330','330','9','9','1','0','0','2010-06-04T04:54:51') 
   INTO S1589_XML_LineSection (ID, VALID_FROM_DATE, VALID_TO_DATE, LINE_ID, CHANNEL_NO, TENSION, NATURE, P70, C70, P400, C400, OPERATIONAL_IMPORTANCE, TECHNICAL_EQUIPMENT, OPERATIONALISATION, STANDARD_SPEED_DIR_1, STANDARD_SPEED_DIR_2, LAST_UPDATE_DATE) VALUES ('1','2005-12-11','2007-12-08','404','0','1','1','0','0','330','330','9','9','1','60','60','2010-06-04T04:54:51')
SELECT 1 FROM dual

我可以完美地单独添加这些行,但是当我尝试一次添加它们时,它会花费太长时间。

那么,有关改进查询或确保我没有收到错误的提示(ORA-00054)?

0 个答案:

没有答案