我们有一些代码来管理SQL
- Connections。该类保持连接打开,以便更快地访问数据库。上周我意识到,偶尔会创建一个DataTable
,但不会填充任何数据。当软件在一段时间内未使用时会发生这种情况。我可以在Debug-Session中捕获它,但是在我第二次运行部分代码之后,它返回了一个填充表,就像预期的一样。
我们的客户在几个月后在其他机器上使用相同的软件,但还没有遇到这个问题。只有在新的selled系统上才会发生这种情况。但它的SQL-Server和数据库相同。有谁有想法为什么?有没有超时或类似的东西?
提前谢谢
public class DBEncaps
{
public SqlConnection oSqlDbConnection = null;
public void OpenDb (string _sOpenString )
{
this.oSqlDbConnection = new SqlConnection(this.sConnectionString);
this.oSqlDbConnection.Open();
}
public DataTable GetTable (string _sSql, string _sTableName)
{
DataTable oTable = null;
SqlCommand oSqlDbCmd = new SqlCommand(_sSql, this.oSqlDbConnection);
SqlDataAdapter oSqlAdapter = new SqlDataAdapter(oSqlDbCmd);
oSqlAdapter.Fill(oTable);
}
}
void CallingFunction()
{
DBEncaps encap = new DBEncaps();
encap.OpenDb ("Server=127.0.0.1; Database=foo; Trusted_Connection=yes");
Datatable someTable = encap.GetTable("SELECT * FROM dbo.bar");
}