我正在使用ODBC连接到Sybase数据库。问题是即使在作用域完成后连接也没有关闭,并且当我运行sp_who
时,我发现数据库中有大约200个连接打开。我试图启用连接池,但这也没有帮助。如何关闭.NET ODBC连接?
using(var connection = GetOdbcConnection())
{
connection.Open();
using (var cmd = new OdbcCommand(query, connection))
{
var reader = cmd.ExecuteReader();
if (reader.Read())
{
long textLen = reader.GetChars(0, 0, null, 0, 0);
}
reader.Close();
}
}
我使用的连接字符串是value="Driver={Adaptive Server Enterprise};app=xxx;server=xxxx;port=xxxx; db=xxx;uid=xxx;pwd=xxxx;textsize=2097152"
。
更新:
public static OdbcConnection GetOdbcConnection() {
string connectionString = ConfigurationManager.AppSettings["ConnectionString"].ToString();
return new OdbcConnection(connectionString);
}
GetOdbcConnection是做什么的? – Bobby 2011-03-03 08:53:32
public static OdbcConnection GetOdbcConnection() string connectionString = ConfigurationManager.AppSettings [“ConnectionString”]。ToString(); 返回新的OdbcConnection(connectionString); } – 2011-03-03 09:00:21