我正在尝试将多个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)?