ORA-03114: not connected to ORACLE

PCBoy008 2004-07-19 11:42:13
数据库:Oracle 817,OracleClient,net framework 1.1
以下是我的公共数据访问类(我想应该代码上没有什么不对的。用完后链接也都是释放的)
using System.Data.OracleClient;
public class ComFun
{
static public IDataReader ComFun_ExeReader(string Sql)
{
OracleConnection Conn=new OracleConnection(ConfigurationSettings.AppSettings["OracleConnectionString"]);
OracleCommand Cmd=new OracleCommand();
Cmd.CommandText=Sql;
Cmd.Connection=Conn;
Conn.Open();
OracleDataReader Reader=Cmd.ExecuteReader(CommandBehavior.CloseConnection);
return Reader;
}

static public DataSet ComFun_ExeDataset(string Sql)
{
OracleConnection Conn=new OracleConnection(ConfigurationSettings.AppSettings["OracleConnectionString"]);
OracleDataAdapter Ad=new OracleDataAdapter(Sql,Conn);
DataSet ds=new DataSet();
Conn.Open();
Ad.Fill(ds);
Conn.Close();
return ds;
}

static public Object ComFun_ExeScalar(string Sql)
{
OracleConnection Conn=new OracleConnection(ConfigurationSettings.AppSettings["OracleConnectionString"]);
OracleCommand Cmd=new OracleCommand();
Cmd.CommandText=Sql;
Cmd.Connection=Conn;
Conn.Open();
Object Obj=Cmd.ExecuteScalar();
Conn.Close();
return Obj;
}
}

在其他地方我是这么用这个公共类的
try{
string sql="select person_name,person_age from person";
IDataReader Reader=ComFun.ComFun_ExeReader(sql);
DropList.DataSource=Reader;
DropList.DataText.....="person_name";
DropList.DataBind();
Reader.Close();Reader.Dispose();
Session["Result"]="Success";
}
catch(Exception E)
{
Session["Result"]=E.Message;
}
finally
{
Response.Redirect("Result.aspx");
}
结果程序有时会出现"ORA-03114: not connected to ORACLE"的异常。
大多数时候又是运行好好的。没有规律。为什么?
传说当年Asp时代是每次用完后就释放掉的。第2次用时是重新登录数据库,然后接链接,所以不会有这个问题。难到是.net缓冲池的问题?
...全文
1223 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangshuquan 2004-10-22
  • 打赏
  • 举报
回复
MS的BUG
MS的那个作者已经在网上道歉了
去下载.NET Framework 1.1 Service Pack 1安装就可以了
PCBoy008 2004-07-19
  • 打赏
  • 举报
回复
问题在我作连接测试时是没有问题的:
test.asp可输出连接字符串:

<%
'ConnStr = "Provider=MSDAORA.1;Data Source=BQC;User ID=XXWAPADDON;Password=WORACLESOTEAM;"
ConnStr = "Provider=OraOLEDB.Oracle.1;Password=ora01test;User ID=ora_user;Data Source=ora01"

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open ConnStr

Response.Write Conn.ConnectionString

Conn.Close
Set Conn = Nothing
%>
timeryzh 2004-07-19
  • 打赏
  • 举报
回复
与静态方法有关?
fly2008fly 2004-07-19
  • 打赏
  • 举报
回复
这个错误是连接数据库断开了,你看看网络有没有问题,我感觉网络问题

62,025

社区成员

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

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

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

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