帮忙解释一下 我做了一个试验:不断的打开数据库连接,关闭数据库连接。在试验过程中发现,应用启动时打开的一个数据库连接大概需要1秒钟左右,以后打开数据库连接几乎不花时间(不到1毫秒),即使关闭数据库服务器,打开数据库连接照样能成功。这是不是连接池机制的原因,连接池难道是在本地维护的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在程序初始化的时候建立连接,得到con,可以建个类如:using System;using System.Text;using System.Data;using System.Data.OracleClient;namespace Gis_T.DbService{ /// <summary> /// 用OrcleClient直接操作 /// </summary> public sealed class ClsOracleDbService { private static string m_ConnString; private static OracleConnection m_Conn= new OracleConnection(); static ClsOracleDbService() { StringBuilder pstr = new StringBuilder(); pstr.Append("Data Source="); pstr.Append(ClsConfigManager.g_DBName); pstr.Append(";Password ="); pstr.Append(ClsConfigManager.g_DBPassword); pstr.Append(";User ID ="); pstr.Append(ClsConfigManager.g_DBUser); m_ConnString = pstr.ToString(); Console.WriteLine(m_ConnString); } public static bool ConnOracle() { if(m_Conn.State ==ConnectionState.Open )return true; m_Conn.ConnectionString = m_ConnString; try { m_Conn.Open(); return true; } catch(Exception ex) { Console.WriteLine(ex.ToString()); return false; } } public static void CloseOracle() { m_Conn.Close(); } public static OracleDataReader ExecuteReader(string sql) { if (m_Conn.State != ConnectionState.Open) if (!ConnOracle()) return null; OracleCommand pCommand = new OracleCommand(sql, m_Conn); OracleDataReader pReader = pCommand.ExecuteReader(); if (pReader.Read()==false) { pReader.Close(); return null; } return pReader; } }} C#的ActiveX控件,如何链接AC数据库呢? 判断时间 C #问题 如何获取input标签的radiobutton的选中值? datagridview控件 获取了子表的值 如何获取主表的值 急!急!急! 各位大侠,我想查找表中TimeBeign和TimeEnd之外的值并插入到另外一张表中,怎么办啊? 最近在做毕业设计的,关于md5加密问题,求解啊. 新手的问题,关于异常 簡單問題﹐真不知怎么搞的。。。 怎样完整备份sql数据库的数据文件和日志文件? 请教关于C#编程语言的两个基础问题 字符串处理遇到的难题---C#中如何对分词后的文档的字符进行统计
using System;
using System.Text;
using System.Data;
using System.Data.OracleClient;
namespace Gis_T.DbService
{
/// <summary>
/// 用OrcleClient直接操作
/// </summary>
public sealed class ClsOracleDbService
{
private static string m_ConnString;
private static OracleConnection m_Conn= new OracleConnection();
static ClsOracleDbService()
{
StringBuilder pstr = new StringBuilder();
pstr.Append("Data Source=");
pstr.Append(ClsConfigManager.g_DBName); pstr.Append(";Password =");
pstr.Append(ClsConfigManager.g_DBPassword); pstr.Append(";User ID =");
pstr.Append(ClsConfigManager.g_DBUser);
m_ConnString = pstr.ToString();
Console.WriteLine(m_ConnString);
}
public static bool ConnOracle()
{
if(m_Conn.State ==ConnectionState.Open )return true;
m_Conn.ConnectionString = m_ConnString;
try
{
m_Conn.Open();
return true;
}
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
return false;
} } public static void CloseOracle()
{
m_Conn.Close();
}
public static OracleDataReader ExecuteReader(string sql)
{
if (m_Conn.State != ConnectionState.Open)
if (!ConnOracle()) return null; OracleCommand pCommand = new OracleCommand(sql, m_Conn);
OracleDataReader pReader = pCommand.ExecuteReader();
if (pReader.Read()==false)
{
pReader.Close();
return null;
}
return pReader;
}
}
}