为什么我的程序过一阵子就连不上数据库了 一会好好的,一会,大概过了几十分钟就不行了,怎么回事,有时把w3wp.exe进程关掉后又可以,但有时就不行,到底怎么回事啊,疯了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很有可能SqlDataReader 没有close private static string GetConnectionString(){ return ConfigurationSettings.AppSettings["connStr"];}public static bool ExecuteNonQuery(string sql,SqlParameter[] paras,object[] values){ using (SqlConnection myConn = new SqlConnection(GetConnectionString())) { myConn.Open(); SqlCommand myCmd = new SqlCommand(sql,myConn); myCmd.CommandType = CommandType.StoredProcedure; foreach( SqlParameter para in paras) { myCmd.Parameters.Add(para); } SetValues(paras,values); return (myCmd.ExecuteNonQuery() == 1); } }很简单的一句,没什么特别的啊,不知为什么。 仅仅是你的程序这种情况么?是不是可以排除SQL服务器本身的问题?我这里有台服务器就是时而连不上,时而连得上,不是程序问题 在return后加上myConn.Close();试试 tengfly(腾飞) return后加上myConn.Close();不需要Using自己会关闭 DB服务器应该是没问题的,因为现在已有一个项目在运行着,而且稳定。using的作用就是可以自动释放,所 以不用再手动指定。都不知什么原因了。我用的是2003系统 程序中都是这么操作数据库的吗?没有使用DataReader获取数据而没有关闭数据库连接的情况吗? 在return后加上myConn.Close();试试return后还能加东西吗? 连不上数据库难道没有异常抛出来吗?打开连接后要及时的close, 这是习惯, 不能你用了using()就不手工释放了 conn出了using语句就不起作用了,会自动释放的,不同意楼上的说法 谢谢大家。TO webdiyer(陕北吴旗娃)我的update ,insert都是用nonquery也就是上面那个,而取数据都是用这个public static DataSet ExecuteDataSet(string sql,string table,SqlParameter[] paras,string[] values) { using (SqlConnection myConn = new SqlConnection(GetConnectionString())) { myConn.Open(); SqlDataAdapter adapter = new SqlDataAdapter(sql,myConn); adapter.SelectCommand.CommandType = CommandType.StoredProcedure; foreach( SqlParameter para in paras) { adapter.SelectCommand.Parameters.Add(para); } SetValues(paras,values); DataSet ds = new DataSet(); adapter.Fill(ds,table); return ds; } } 没用sqldatareader来取。刚才还可以,吃完饭回来,就报这个错误了,好像就是隔了一段时间。提示SQL SERVER不存在,再刷新它就提示我操作数据库的那语句未引用到对象了,很明显是连不上数据库,语句是正确的。web.config里的sessionState节没改动过,为默认 提示SQL SERVER不存在?=======================你把连接字符串保存在Session里边了? 有时又报这个错常规网络错误。请检查您的网络文档。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 常规网络错误。请检查您的网络文档。源错误: 行 82: 行 83: DataSet ds = new DataSet();行 84: adapter.Fill(ds,table);行 85: return ds;行 86: 看起来象是你的SQL Server的问题,试试连接到另一个SQL Server服务器看是否有同样的问题。 如何获得网络上另一台机器的时间 简单的SQL查询加DATAGRID 问题 VS2003+DDKWizard出 web事件丢失了是怎么回事 请问如何触发datagrid中的模板中的控件事件,比如一个txt中的txtchange事件 请教自定义控件? 采用IConfigurationSectionHandler读取WEB配置文件有什么优势? vs.net装不了,我想学asp.net!!怎么办呀~ button如何做连接?点一个按钮就连接一个url 如何把Data型转换成string型 如何去掉IFrame右侧的滚动条位置处出现空白区域????急,解决了加分 求高手帮助以下sql的写法!
{
return ConfigurationSettings.AppSettings["connStr"];
}public static bool ExecuteNonQuery(string sql,SqlParameter[] paras,object[] values)
{
using (SqlConnection myConn = new SqlConnection(GetConnectionString()))
{
myConn.Open(); SqlCommand myCmd = new SqlCommand(sql,myConn);
myCmd.CommandType = CommandType.StoredProcedure; foreach( SqlParameter para in paras)
{
myCmd.Parameters.Add(para);
}
SetValues(paras,values);
return (myCmd.ExecuteNonQuery() == 1);
}
}
很简单的一句,没什么特别的啊,不知为什么。
return后加上myConn.Close();不需要Using自己会关闭
using的作用就是可以自动释放,所 以不用再手动指定。
都不知什么原因了。
我用的是2003系统
return后还能加东西吗?
打开连接后要及时的close, 这是习惯, 不能你用了using()就不手工释放了
TO webdiyer(陕北吴旗娃)
我的update ,insert都是用nonquery也就是上面那个,
而取数据都是用这个
public static DataSet ExecuteDataSet(string sql,string table,SqlParameter[] paras,string[] values)
{
using (SqlConnection myConn = new SqlConnection(GetConnectionString()))
{
myConn.Open(); SqlDataAdapter adapter = new SqlDataAdapter(sql,myConn);
adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
foreach( SqlParameter para in paras)
{
adapter.SelectCommand.Parameters.Add(para);
}
SetValues(paras,values);
DataSet ds = new DataSet();
adapter.Fill(ds,table);
return ds;
}
}
没用sqldatareader来取。
刚才还可以,吃完饭回来,就报这个错误了,好像就是隔了一段时间。
提示SQL SERVER不存在,再刷新它就提示我操作数据库的那语句未引用到对象了,很明显是连不上数据库,语句是正确的。
web.config里的sessionState节没改动过,为默认
=======================
你把连接字符串保存在Session里边了?
常规网络错误。请检查您的网络文档。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 常规网络错误。请检查您的网络文档。源错误:
行 82:
行 83: DataSet ds = new DataSet();
行 84: adapter.Fill(ds,table);
行 85: return ds;
行 86: