我注意到其他一些人也有同样的问题,但无法找到解决方案。我的ASP.NET应用程序运行良好,突然体验到了这一点。它不会抛出任何异常,但存储过程不像以前那样返回值。当我调试程序时发现我的SqlCommand
存在问题。
SqlCommand cmd = new SqlCommand();
cmd.Parameters.AddWithValue("@UserID", Convert.ToInt64(Request.QueryString["UserID"]));
DataTable dtuser = db.GetDataTable(cmd, "sp_GetUserbyUserId");
我添加了一块手表并查看cmd
。 Connection
显示上述消息的ServerVersion
媒体资源以及Message
属性"Invalid operation. The connection is closed."
。我认为我的SP因此没有运作。这会是什么问题?
最近我在web.config中所做的更改只是在<appSettings/>
修改
以下是我的DBHandler
类方法,该方法由上面的db
实例调用。
public class DBHandler
{
private string connectionString = "";
public DBHandler()
{
connectionString = WebConfigurationManager.ConnectionStrings["myConString"].ConnectionString.ToString();
}
public DataTable GetDataTable(SqlCommand sqlcmdWithParameters, string CommandText)
{
DataTable dtReturn = new DataTable();
SqlDataAdapter sqlda = new SqlDataAdapter(sqlcmdWithParameters);
using (SqlConnection sqlcon = new SqlConnection(connectionString))
{
sqlcmdWithParameters.Connection = sqlcon;
sqlcmdWithParameters.CommandType = CommandType.StoredProcedure;
sqlcmdWithParameters.CommandText = CommandText;
try
{
DataSet ds = new DataSet();
sqlda.Fill(ds, "Table");
dtReturn = ds.Tables["Table"];
}
catch (Exception ex)
{
//Handling Exceptions
}
}
return dtReturn;
}
}
我在Web.config中的连接字符串如下
<connectionStrings>
<add name="myConString" connectionString="Data Source=xxx.xxx.x.x;Initial Catalog=myDB;User ID=myId;Password = myPWD" providerName="System.Data.SqlClient" />
</connectionStrings>
答案 0 :(得分:0)
我遇到了同样的错误。在我使用Visual Studio 2013 Open的机器上,我卸载并重新安装了我的Oracle数据提供程序。
在重新安装Oracle之后,我运行了我正在运行的asp.net应用程序并在尝试创建时开始收到此错误,但是打开数据库连接。
关闭Visual Studio并重新打开后,错误就消失了。也许关于我的“ServerVersion”的东西被无效,然后在我重新打开Visual Studio时重置。