各位好,现在做的一个从Excel电子表格将数据组织成一个大的保单对象,然后插入到数据库中的功能。 excel表格是N行40多列格式的数据。多为编号。我在用程序读取电子表格数据后,需要根据读取到的数据,先到数据库中查找到信息,然后组织一个大对象,将查询出来的值赋给这个大对象。最后调用save方法,插入到数据库中。 现在遇到的问题是。数据库最大连接数是300,但是我的程序在读取电子表格数据组织对象的时候,频繁的读取数据库。大约在读取到110条excel数据的时候,就达到了最大连接数的限制。导致抛出异常:Listener refused the connection with the following error:ORA-12519, TNS:no appropriate service handler found 导致程序无法继续。 希望各位有相关经验的朋友能否告知一下对这种问题的解决方案。谢谢各位!
程序代码写的有问题,创建一个连接对象就可以了。
然后每次都使用同一个连接对象来读写数据库。(即singleton模式)
因为我是调用核心系统的方法去读取数据库。我跟进了一下源代码,核心代码在每个对象的查询的时候,都是new了一个链接对象,不过,我看他每次查询完毕,也都会关闭链接对象啊。难道说是关闭连接后,数据库那边儿并不能及时释放连接吗?不是太懂这块,还希望不吝赐教啊。谢谢
alter system set processes = 1000 scope = spfile;