asp.net + oracle 连接时,关闭连接怎么无效呀

zhangsunphone 2004-08-24 11:24:24
最近在整合一个项目,为了考虑与原来系统的兼容性使用ado2.7在.net中连接oracle,后来发现在oracle中连接事务无限增长,最后报错连接事务过多,我是定义了一个函数来连接的,将connection定义为公用,在起始页面打开后,其他的页面来引用就可以了怎么能解决这个问题呀,望各位指点一下。谢谢
...全文
155 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
woooooooow 2004-08-25
  • 打赏
  • 举报
回复
connection怎么长期保持让多个页面用?事实上每个页面连一次数据库比这样的效率要高得多,而且不会出现你所说的问题。养成.Close()的习惯~
不过,不明白怎么.net页面执行完之后不会自动关闭connection?asp里是会自动关conn的。
astrofay 2004-08-25
  • 打赏
  • 举报
回复
up!!!
vzxq 2004-08-25
  • 打赏
  • 举报
回复
study
goody9807 2004-08-25
  • 打赏
  • 举报
回复
最后要介绍的是ADO 2.6机制,该机制是在VB 6.0中实现的。我们先创建一个名为DBXMLVS6的ActiveX DLL项目,然后把Class1修改为ADO26,接着添加一个到ActiveX Data Objects 2.6的引用。一旦完毕,为该类添加一个ExecuteSelect()方法如下:

Public Function ExecuteSelect(
CustomerID As String,
ConnectionString As String)
As String
Set conn = New ADODB.Connection
conn.ConnectionString = ConnectionString
conn.Open

Set cmd = New ADODB.Command
cmd.ActiveConnection = conn
cmd.CommandText = "select * from customers
where CustomerID = '" & CustomerID & "'"
Set rs = cmd.Execute

Set adoStream = New ADODB.Stream
adoStream.Type = adTypeText
adoStream.Open
rs.Save adoStream, adPersistXML

'返回XML字符串
ExecuteSelect = adoStream.ReadText()
End Function



  和其他实例一样,上面的程序创建并打开一个数据库连接。然后创建一个Command对象,并将它的ActiveConnection属性设置为上面的Connection对象,而程序中用到的SELECT语句和前面实例中的是一样的。接着,程序将Command对象的Execute()方法的返回值传递给一个RecordSet对象。然后,程序创建一个ADO Stream对象,并将其Type属性设置为adTypeText同时打开它。一旦该流对象被打开,调用RecordSet对象的Save()方法就能将数据以XML的格式保存。最后,程序通过Stream对象的ReadText()方法返回XML数据给调用者。
eboywy 2004-08-25
  • 打赏
  • 举报
回复
在ASP.net中没有全局变量的概念,你的公用connection是不可能实现的。
最好的方式是用到是建立连接,用完后尽快释放。
eboywy 2004-08-25
  • 打赏
  • 举报
回复
Conn.open();
Cmd.excutereader();
...
cmd.parameters.clear();
Cmd.dispose();
Conn.dispose();
Conn.Close();
codeangel 2004-08-25
  • 打赏
  • 举报
回复
定义共公方法
up+leaning ..
91bct 2004-08-25
  • 打赏
  • 举报
回复
赞成使用
“用using 搞定”
chenxing80 2004-08-25
  • 打赏
  • 举报
回复
using (SqlConnection cn = new SqlConnection(connectionString))
{
cn.Open();
//call the overload that takes a connection in place of the connection string
return ExecuteNonQuery(cn, commandType, commandText, commandParameters);
}

程序会自动调 cn 的 Dispose 方法

好像要实现 IDisposable 接口,忘了,不好意思
心雨楼 2004-08-25
  • 打赏
  • 举报
回复
用using 搞定
Proyang 2004-08-25
  • 打赏
  • 举报
回复
最好每次用的时候连接上,然后就关闭。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧