是否需要使用Oracle与.net的持久连接来维护会话?

是否需要使用Oracle与.net的持久连接来维护会话?,.net,oracle,connection-pooling,odp.net,.net,Oracle,Connection Pooling,Odp.net,我正在用Oracle编写ASP.NET应用程序,使用ODP.NET执行任何DML,打开一个新连接并执行一个查询,所有这些都可以正常工作。 我的问题是,我正在编写软件包,需要保存一些记录,类似于: pkg_name.putdata(param1,param2,......) pkg_name.save() 使用pkg_name.putdata(param1,param2,…),此方法在Oracle中编写,我需要初始化包属性并使用pkg_name.save()在Oracle数据库中插入数据 在pu

我正在用Oracle编写ASP.NET应用程序,使用ODP.NET执行任何DML,打开一个新连接并执行一个查询,所有这些都可以正常工作。 我的问题是,我正在编写软件包,需要保存一些记录,类似于:

pkg_name.putdata(param1,param2,......)
pkg_name.save()
使用
pkg_name.putdata(param1,param2,…)
,此方法在Oracle中编写,我需要初始化包属性并使用
pkg_name.save()
在Oracle数据库中插入数据

putdata()
之后调用
save()
时,在包变量中找不到任何数据

使用持久连接可以解决这个问题吗? 我还想使用Oracle临时表来存储会话信息,直到用户注销为止


请建议我如何执行此任务或让我参考指南。

您需要使用相同的连接而不关闭它,或者需要将两条语句作为一个批执行:

您需要使用相同的连接而不关闭它,或者需要将这两条语句作为一个批执行:

您使用的是连接池吗?您所说的“编写包”是什么意思?你在执行DDL语句吗?Grzegorz,“编写包”是oracle包(过程)。tbone,我没有使用连接池。你在使用连接池吗?你说的“编写包”是什么意思?你在执行DDL语句吗?Grzegorz,“编写包”是oracle包(过程)。tbone,我没有使用连接池。